diff options
author | Release Engineers <releng@openoffice.org> | 2009-05-06 10:59:57 +0000 |
---|---|---|
committer | Release Engineers <releng@openoffice.org> | 2009-05-06 10:59:57 +0000 |
commit | 4d3148e0b7ee607de9c86e9e9aa79e9cd423f1f1 (patch) | |
tree | 5c5025d215f13e88b0ab36d10e91b6c064bce7a9 /svx/source/cui/postdlg.cxx | |
parent | 924c156e4a9333ac972a91d185380220860cc91b (diff) |
CWS-TOOLING: integrate CWS mba32issues01
2009-05-05 18:23:27 +0200 mba r271547 : apply diffs from m45->m47 for all files moved from dialog to cui
2009-05-05 18:22:02 +0200 mba r271545 : apply diffs from m45->m47 for all files moved from dialog to cui
2009-05-05 18:16:42 +0200 mba r271544 : apply diffs from m45->m47 for all files moved from dialog to cui
2009-04-29 19:35:58 +0200 mba r271392 : #i73672#: unify commands for inserting special characters
2009-04-29 18:01:27 +0200 mba r271391 : #i101337#: missing string resources
2009-04-29 18:01:10 +0200 mba r271390 : #i101337#: missing string resources
2009-04-29 15:42:47 +0200 mba r271380 : concurrency problem in multithreaded dmake due to missing dependency
2009-04-28 17:36:03 +0200 tbo r271336 : #i99432#
2009-04-28 13:57:52 +0200 mba r271322 : #i101302#: ctor might be called with pSet=0
2009-04-22 19:32:39 +0200 tbo r271138 : #i99432#
2009-04-09 14:46:03 +0200 mba r270709 : make sendreportw32.cxx compile with pch
2009-04-06 16:05:07 +0200 mba r270568 : #i99432#: some tweaks for build order
2009-04-06 15:38:52 +0200 mba r270558 : typo
2009-04-06 13:36:19 +0200 mba r270542 : #i99432#: split of localization also
2009-04-06 13:19:06 +0200 mba r270539 : #i99432#: split up srs files also
2009-04-03 17:57:59 +0200 mba r270513 : #i99432#: split dialog folder into two
2009-04-03 17:56:46 +0200 mba r270512 : #i99432#: split dialog folder into two
2009-04-01 22:15:00 +0200 mba r270364 : warnings on Linux
2009-04-01 22:10:44 +0200 mba r270363 : warnings on Linux
2009-04-01 21:43:54 +0200 mba r270362 : warning fixed
2009-04-01 21:41:27 +0200 mba r270361 : warning on Linux fixed
2009-04-01 21:35:44 +0200 mba r270360 : warning fixed
2009-04-01 20:19:59 +0200 mba r270358 : warning found on Linux fixed
2009-04-01 19:23:38 +0200 mba r270354 : warning due to missing eof
2009-04-01 18:56:25 +0200 mba r270352 : linking problem fixed that appeared only on mac
2009-04-01 18:41:30 +0200 mba r270350 : warnings discovered on Linux fixed
2009-04-01 18:34:28 +0200 mba r270349 : some fixes for warnings and include problems discoverd after resync and build on mac
2009-04-01 14:08:22 +0200 mba r270328 : CWS-TOOLING: rebase CWS mba32issues01 to trunk@270033 (milestone: DEV300:m45)
2009-03-04 18:13:35 +0100 mba r268858 : #i99432#: more dialogs moved to cui
2009-03-04 17:47:41 +0100 mba r268854 : #i99432#: more dialogs moved to cui
2009-03-04 17:32:39 +0100 mba r268851 : warning fixed
2009-03-04 12:59:26 +0100 mba r268814 : #i99432#: more dialogs moved to cui
2009-03-04 11:49:03 +0100 mba r268802 : #i99432#: CharmapDialog moved to cui
2009-03-04 10:46:00 +0100 mba r268795 : #i99432#: CharmapDialog moved to cui
2009-03-04 10:43:50 +0100 mba r268794 : #i99432#: CharmapDialog moved to cui
2009-03-04 10:00:29 +0100 mba r268792 : #i99432#: CharmapDialog moved to cui
2009-03-04 10:00:03 +0100 mba r268791 : #i99432#: CharmapDialog moved to cui
2009-03-04 09:59:43 +0100 mba r268790 : #i99432#: CharmapDialog moved to cui
2009-03-04 09:58:51 +0100 mba r268789 : #i99432#: CharmapDialog moved to cui
2009-03-04 09:58:16 +0100 mba r268788 : #i99432#: CharmapDialog moved to cui
2009-03-03 16:33:14 +0100 mba r268763 : #i99465#: new SfxAbstractDialog interface and creation methods
2009-03-03 16:32:28 +0100 mba r268762 : #i99432#: some tabpages moved to cui
2009-03-03 16:32:09 +0100 mba r268761 : #i99432#: some tabpages moved to cui
2009-03-03 16:29:40 +0100 mba r268760 : #i99465#: new SfxAbstractDialog interface and creation methods
2009-03-03 16:29:08 +0100 mba r268759 : #i99432#: MacroAssignment page moved to cui
2009-03-03 16:28:41 +0100 mba r268758 : #i99432#: MacroAssignment page moved to cui
2009-03-03 16:28:18 +0100 mba r268757 : #i99465#: new SfxAbstractDialog interface and creation methods
2009-03-03 16:27:36 +0100 mba r268756 : #i99465#: replace FN_SYMBOL by SID_CHARMAP
2009-03-03 16:27:02 +0100 mba r268755 : #i99465#: new SfxAbstractDialog interface and creation methods
2009-03-03 16:26:23 +0100 mba r268754 : #i99465#: new SfxAbstractDialog interface and creation methods
2009-03-03 16:25:30 +0100 mba r268753 : #i99465#: new SfxAbstractDialog interface and creation methods
2009-03-03 16:24:49 +0100 mba r268752 : #i99465#: new SfxAbstractDialog interface and creation methods
2009-03-03 16:24:35 +0100 mba r268751 : #i99432#: MacroAssignment page moved to cui
2009-03-03 16:23:20 +0100 mba r268750 : #i99465#: new SfxAbstractDialog interface and creation methods
2009-03-03 16:23:04 +0100 mba r268749 : #i99432#: MacroAssignment page moved to cui
2009-03-03 16:21:56 +0100 mba r268748 : #i99465#: new SfxAbstractDialog interface and creation methods
2009-03-03 16:18:39 +0100 mba r268747 : #i99432#: MacroAssignment page moved to cui
2009-03-03 16:13:14 +0100 mba r268745 : #i99465#: replace FN_SYMBOL by SID_CHARMAP
2009-03-03 16:02:54 +0100 mba r268738 : #i99432#: moved MacroAssignment TabPage from sfx2
2009-03-03 14:57:58 +0100 mba r268729 : #i99465#: transport return value via ItemSet
2009-03-03 00:08:10 +0100 mba r268701 : #i99432#: move acccfg to cuilib
2009-03-03 00:07:32 +0100 mba r268700 : #i99432#: move acccfg to cuilib
2009-03-03 00:02:01 +0100 mba r268699 : #i99432#: move acccfg to cuilib
2009-03-03 00:01:38 +0100 mba r268698 : #i99432#: move acccfg to cuilib
2009-03-03 00:01:11 +0100 mba r268697 : #i99432#: move acccfg to cuilib
2009-03-03 00:00:40 +0100 mba r268696 : #i99432#: move acccfg to cuilib
2009-03-03 00:00:06 +0100 mba r268695 : #i99432#: replace SfxAbstractSingleTabDialog by SfxAbstractDialog
2009-03-02 23:59:22 +0100 mba r268694 : #i99432#: move acccfg to cuilib
2009-03-02 23:57:19 +0100 mba r268693 : #i99432#: move acccfg to svx
2009-03-02 23:56:14 +0100 mba r268692 : #i99432#: replace SfxAbstractSingleTabDialog by SfxAbstractDialog
2009-03-02 23:49:37 +0100 mba r268691 : #i99785#: consolidate dialogs library
2009-03-02 17:26:40 +0100 mba r268683 : #i99785#: consolidate dialogs library
2009-03-02 17:24:28 +0100 mba r268682 : i99465#: consolidate slot for InsertSymbol command
2009-03-02 17:22:29 +0100 mba r268681 : #i99785#: consolidate dialogs library
2009-03-02 17:18:11 +0100 mba r268680 : i99432#: move accelconfig and macroassignment to cui
2009-03-02 17:08:30 +0100 mba r268679 : #i99785#: consolidate dialogs library
2009-03-02 17:06:57 +0100 mba r268678 : #i99785#: consolidate dialogs library
2009-03-02 17:06:30 +0100 mba r268677 : #i99785#: consolidate dialogs library
2009-03-02 17:05:02 +0100 mba r268676 : #i99785#: consolidate dialogs library
2009-03-02 17:04:35 +0100 mba r268675 : #i99785#: consolidate dialogs library
2009-03-02 16:47:53 +0100 mba r268673 : i99432#: move accelconfig and macroassignment to cui
2009-03-02 16:45:17 +0100 mba r268671 : i99432#: move accelconfig and macroassignment to cui
2009-03-02 16:39:59 +0100 mba r268670 : i99432#: move accelconfig and macroassignment to cui
2009-03-02 16:38:59 +0100 mba r268668 : i99432#: move accelconfig and macroassignment to cui
2009-03-02 16:38:28 +0100 mba r268667 : i99432#: move accelconfig and macroassignment to cui
2009-03-02 16:36:06 +0100 mba r268666 : i99432#: move accelconfig and macroassignment to cui
2009-03-02 16:29:50 +0100 mba r268663 : i99432#: move accelconfig and macroassignment to cui
2009-03-02 16:24:00 +0100 mba r268659 : i99432#: move accelconfig and macroassignment to cui
2009-03-02 16:23:31 +0100 mba r268658 : i99432#: move accelconfig and macroassignment to cui
2009-03-02 16:22:41 +0100 mba r268657 : i99432#: move accelconfig and macroassignment to cui
2009-02-25 16:57:26 +0100 mba r268453 : obsolete
2009-02-17 10:50:51 +0100 mba r267846 : obsolete
2009-02-12 16:33:54 +0100 mba r267676 : #i96834#: warning fixed
2009-02-11 19:28:47 +0100 mba r267626 : #i91978#: unused code
2009-02-11 18:37:47 +0100 mba r267625 : metafile output, fixes for 3 layer office
2009-02-11 12:56:28 +0100 mba r267593 : selective trees; incomplete build lists; metafile output
Diffstat (limited to 'svx/source/cui/postdlg.cxx')
-rw-r--r-- | svx/source/cui/postdlg.cxx | 273 |
1 files changed, 273 insertions, 0 deletions
diff --git a/svx/source/cui/postdlg.cxx b/svx/source/cui/postdlg.cxx new file mode 100644 index 000000000000..1f4d481f4b8e --- /dev/null +++ b/svx/source/cui/postdlg.cxx @@ -0,0 +1,273 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: postdlg.cxx,v $ + * $Revision: 1.14 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_svx.hxx" + +#ifdef SVX_DLLIMPLEMENTATION +#undef SVX_DLLIMPLEMENTATION +#endif + +// include --------------------------------------------------------------- +#include <tools/shl.hxx> +#include <tools/date.hxx> +#include <tools/time.hxx> +#include <vcl/svapp.hxx> +#ifndef _MSGBOX_HXX //autogen +#include <vcl/msgbox.hxx> +#endif +#include <svtools/itempool.hxx> +#include <svtools/itemset.hxx> +#include <svtools/useroptions.hxx> +#include <unotools/localedatawrapper.hxx> +#ifndef _UNOTOOLS_PROCESSFACTORY_HXX +#include <comphelper/processfactory.hxx> +#endif + +#define _SVX_POSTDLG_CXX + +#include <svx/dialogs.hrc> +#include "postdlg.hrc" + + + + + +#include "postattr.hxx" +#include "postdlg.hxx" +#include <svx/dialmgr.hxx> + +#include "helpid.hrc" + +// static ---------------------------------------------------------------- + +static USHORT pRanges[] = +{ + SID_ATTR_POSTIT_AUTHOR, + SID_ATTR_POSTIT_TEXT, + 0 +}; + +// class SvxPostItDialog ------------------------------------------------- + +SvxPostItDialog::SvxPostItDialog( Window* pParent, + const SfxItemSet& rCoreSet, + BOOL bPrevNext, + BOOL bRedline ) : + + SfxModalDialog( pParent, SVX_RES( RID_SVXDLG_POSTIT ) ), + + aPostItFL ( this, SVX_RES( FL_POSTIT ) ), + aLastEditLabelFT( this, SVX_RES( FT_LASTEDITLABEL ) ), + aLastEditFT ( this, SVX_RES( FT_LASTEDIT ) ), + aEditFT ( this, SVX_RES( FT_EDIT ) ), + aEditED ( this, SVX_RES( ED_EDIT ) ), + aAuthorFT ( this, SVX_RES( FT_AUTHOR) ), + aAuthorBtn ( this, SVX_RES( BTN_AUTHOR ) ), + aOKBtn ( this, SVX_RES( BTN_POST_OK ) ), + aCancelBtn ( this, SVX_RES( BTN_POST_CANCEL ) ), + aHelpBtn ( this, SVX_RES( BTN_POST_HELP ) ), + aPrevBtn ( this, SVX_RES( BTN_PREV ) ), + aNextBtn ( this, SVX_RES( BTN_NEXT ) ), + + rSet ( rCoreSet ), + pOutSet ( 0 ) + +{ + if (bRedline) // HelpIDs fuer Redlining + { + SetHelpId(HID_REDLINING_DLG); + aEditED.SetHelpId(HID_REDLINING_EDIT); + aPrevBtn.SetHelpId(HID_REDLINING_PREV); + aNextBtn.SetHelpId(HID_REDLINING_NEXT); + } + + aPrevBtn.SetClickHdl( LINK( this, SvxPostItDialog, PrevHdl ) ); + aNextBtn.SetClickHdl( LINK( this, SvxPostItDialog, NextHdl ) ); + aAuthorBtn.SetClickHdl( LINK( this, SvxPostItDialog, Stamp ) ); + aOKBtn.SetClickHdl( LINK( this, SvxPostItDialog, OKHdl ) ); + + Font aFont( aEditED.GetFont() ); + aFont.SetWeight( WEIGHT_LIGHT ); + aEditED.SetFont( aFont ); + + BOOL bNew = TRUE; + USHORT nWhich = 0; + + if ( !bPrevNext ) + { + aPrevBtn.Hide(); + aNextBtn.Hide(); + } + + nWhich = rSet.GetPool()->GetWhich( SID_ATTR_POSTIT_AUTHOR ); + String aAuthorStr, aDateStr, aTextStr; + + if ( rSet.GetItemState( nWhich, TRUE ) >= SFX_ITEM_AVAILABLE ) + { + bNew = FALSE; + const SvxPostItAuthorItem& rAuthor = + (const SvxPostItAuthorItem&)rSet.Get( nWhich ); + aAuthorStr = rAuthor.GetValue(); + } + else + aAuthorStr = SvtUserOptions().GetID(); + + nWhich = rSet.GetPool()->GetWhich( SID_ATTR_POSTIT_DATE ); + + if ( rSet.GetItemState( nWhich, TRUE ) >= SFX_ITEM_AVAILABLE ) + { + const SvxPostItDateItem& rDate = + (const SvxPostItDateItem&)rSet.Get( nWhich ); + aDateStr = rDate.GetValue(); + } + else + { + LocaleDataWrapper aLocaleWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLocale() ); + aDateStr = aLocaleWrapper.getDate( Date() ); + } + + nWhich = rSet.GetPool()->GetWhich( SID_ATTR_POSTIT_TEXT ); + + if ( rSet.GetItemState( nWhich, TRUE ) >= SFX_ITEM_AVAILABLE ) + { + const SvxPostItTextItem& rText = + (const SvxPostItTextItem&)rSet.Get( nWhich ); + aTextStr = rText.GetValue(); + } + + ShowLastAuthor(aAuthorStr, aDateStr); + aEditED.SetText( aTextStr.ConvertLineEnd() ); + + if ( !bNew ) + SetText( SVX_RESSTR( STR_NOTIZ_EDIT ) ); + else + // neu anlegen + SetText( SVX_RESSTR( STR_NOTIZ_INSERT ) ); + + FreeResource(); +} + +// ----------------------------------------------------------------------- + +SvxPostItDialog::~SvxPostItDialog() +{ + delete pOutSet; + pOutSet = 0; +} + +// ----------------------------------------------------------------------- + +void SvxPostItDialog::ShowLastAuthor(const String& rAuthor, const String& rDate) +{ + String sTxt( rAuthor ); + sTxt.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ", " ) ); + sTxt += rDate; + aLastEditFT.SetText( sTxt ); +} + +// ----------------------------------------------------------------------- + +USHORT* SvxPostItDialog::GetRanges() +{ + return pRanges; +} + +// ----------------------------------------------------------------------- + +void SvxPostItDialog::EnableTravel(BOOL bNext, BOOL bPrev) +{ + aPrevBtn.Enable(bPrev); + aNextBtn.Enable(bNext); +} + +// ----------------------------------------------------------------------- + +IMPL_LINK_INLINE_START( SvxPostItDialog, PrevHdl, Button *, EMPTYARG ) +{ + aPrevHdlLink.Call( this ); + return 0; +} +IMPL_LINK_INLINE_END( SvxPostItDialog, PrevHdl, Button *, EMPTYARG ) + +// ----------------------------------------------------------------------- + +IMPL_LINK_INLINE_START( SvxPostItDialog, NextHdl, Button *, EMPTYARG ) +{ + aNextHdlLink.Call( this ); + return 0; +} +IMPL_LINK_INLINE_END( SvxPostItDialog, NextHdl, Button *, EMPTYARG ) + +// ----------------------------------------------------------------------- + +IMPL_LINK( SvxPostItDialog, Stamp, Button *, EMPTYARG ) +{ + Date aDate; + Time aTime; + String aTmp( SvtUserOptions().GetID() ); + LocaleDataWrapper aLocaleWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLocale() ); + String aStr( aEditED.GetText() ); + aStr.AppendAscii( RTL_CONSTASCII_STRINGPARAM( "\n---- " ) ); + + if ( aTmp.Len() > 0 ) + { + aStr += aTmp; + aStr.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ", " ) ); + } + aStr += aLocaleWrapper.getDate(aDate); + aStr.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ", " ) ); + aStr += aLocaleWrapper.getTime(aTime, FALSE, FALSE); + aStr.AppendAscii( RTL_CONSTASCII_STRINGPARAM( " ----\n" ) ); + + + aEditED.SetText( aStr.ConvertLineEnd() ); + xub_StrLen nLen = aStr.Len(); + aEditED.GrabFocus(); + aEditED.SetSelection( Selection( nLen, nLen ) ); + return 0; +} + +// ----------------------------------------------------------------------- + +IMPL_LINK( SvxPostItDialog, OKHdl, Button *, EMPTYARG ) +{ + LocaleDataWrapper aLocaleWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLocale() ); + pOutSet = new SfxItemSet( rSet ); + pOutSet->Put( SvxPostItAuthorItem( SvtUserOptions().GetID(), + rSet.GetPool()->GetWhich( SID_ATTR_POSTIT_AUTHOR ) ) ); + pOutSet->Put( SvxPostItDateItem( aLocaleWrapper.getDate( Date() ), + rSet.GetPool()->GetWhich( SID_ATTR_POSTIT_DATE ) ) ); + pOutSet->Put( SvxPostItTextItem( aEditED.GetText(), + rSet.GetPool()->GetWhich( SID_ATTR_POSTIT_TEXT ) ) ); + EndDialog( RET_OK ); + return 0; +} + |