[Libreoffice-commits] .: Branch 'feature/template-dialog' - 6 commits - sfx2/inc sfx2/source

Rafael Dominguez rdominguez at kemper.freedesktop.org
Mon Jun 25 15:26:19 PDT 2012


 sfx2/inc/templatedlg.hxx        |    8 ++-
 sfx2/source/doc/templatedlg.cxx |   92 +++++++++++++++++++++++++++++++++++-----
 sfx2/source/doc/templatedlg.hrc |   14 ++++++
 sfx2/source/doc/templatedlg.src |   33 +++++++++++---
 4 files changed, 128 insertions(+), 19 deletions(-)

New commits:
commit 50e90e208e53f72434d555ab926bcdf380871381
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Mon Jun 25 17:54:02 2012 -0430

    Make sure to delete allocated attributes.
    
    Change-Id: Ie441653c3204d70ecf0c8a5e23d78f5e547d4b71

diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index 8a2b2ac..ee4f3a2 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -142,8 +142,13 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
 
 SfxTemplateManagerDlg::~SfxTemplateManagerDlg ()
 {
+    delete mpSearchEdit;
+    delete mpViewBar;
+    delete mpActionBar;
+    delete mpTemplateBar;
     delete maView;
     delete mpCreateMenu;
+    delete mpActionMenu;
 }
 
 IMPL_LINK_NOARG(SfxTemplateManagerDlg,ViewAllHdl)
commit 62a5cd79db903b2afcd4cb795bd57642127fe0f5
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Mon Jun 25 17:52:13 2012 -0430

    Remove unused methods.
    
    Change-Id: I1d70a462b29bec7dcac7e4d5c2cac9f8e3af6e2f

diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx
index ea82d78..84b3315 100644
--- a/sfx2/inc/templatedlg.hxx
+++ b/sfx2/inc/templatedlg.hxx
@@ -57,10 +57,8 @@ private:
 
     DECL_LINK(MenuSelectHdl, Menu*);
 
-    void OnTemplateCreate ();
     void OnTemplateImport ();
     void OnTemplateSearch ();
-    void OnTemplateAction ();
     void OnTemplateEdit ();
     void OnTemplateProperties ();
     void OnTemplateMove ();
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index cfacc3b..8a2b2ac 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -192,9 +192,6 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg,TBXViewHdl)
 {
     switch(mpViewBar->GetCurItemId())
     {
-    case TBI_TEMPLATE_CREATE:
-        OnTemplateCreate();
-        break;
     case TBI_TEMPLATE_IMPORT:
         OnTemplateImport();
         break;
@@ -212,9 +209,6 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg,TBXActionHdl)
     case TBI_TEMPLATE_SEARCH:
         OnTemplateSearch();
         break;
-    case TBI_TEMPLATE_ACTION:
-        OnTemplateAction();
-        break;
     default:
         break;
     }
@@ -350,10 +344,6 @@ IMPL_LINK(SfxTemplateManagerDlg, MenuSelectHdl, Menu*, pMenu)
     return 0;
 }
 
-void SfxTemplateManagerDlg::OnTemplateCreate ()
-{
-}
-
 void SfxTemplateManagerDlg::OnTemplateImport ()
 {
     sal_Int16 nDialogType =
@@ -455,10 +445,6 @@ void SfxTemplateManagerDlg::OnTemplateSearch ()
     mpSearchEdit->Show(!bVisible);
 }
 
-void SfxTemplateManagerDlg::OnTemplateAction ()
-{
-}
-
 void SfxTemplateManagerDlg::OnTemplateEdit ()
 {
     uno::Sequence< PropertyValue > aArgs(1);
commit f10e1e007a3e481298649733bf83eff7d32c48d8
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Mon Jun 25 17:49:34 2012 -0430

    Display action popup menu.
    
    Change-Id: I6916be0c62385bd020ce08b314ee836f3c331d14

diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx
index fdf458e..ea82d78 100644
--- a/sfx2/inc/templatedlg.hxx
+++ b/sfx2/inc/templatedlg.hxx
@@ -81,6 +81,7 @@ private:
     ToolBox *mpTemplateBar;
     TemplateFolderView *maView;
     PopupMenu *mpCreateMenu;
+    PopupMenu *mpActionMenu;
 
     int mnSelectionCount;
     std::set<const ThumbnailViewItem*> maSelTemplates;
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index 4a9215b..cfacc3b 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -69,6 +69,10 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
     mpCreateMenu->InsertItem(MNI_CREATE_DRAW,SfxResId(STR_CREATE_DRAW).toString());
     mpCreateMenu->SetSelectHdl(LINK(this, SfxTemplateManagerDlg, MenuSelectHdl));
 
+    mpActionMenu = new PopupMenu;
+    mpActionMenu->InsertItem(MNI_ACTION_SORT_NAME,SfxResId(STR_ACTION_SORT_NAME).toString());
+    mpActionMenu->SetSelectHdl(LINK(this,SfxTemplateManagerDlg,MenuSelectHdl));
+
     // Calculate toolboxs size and positions
     Size aWinSize = GetOutputSize();
     Size aViewSize = mpViewBar->CalcMinimumWindowSizePixel();
@@ -92,11 +96,13 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
 
     // Set toolbox button bits
     mpViewBar->SetItemBits(TBI_TEMPLATE_CREATE, TIB_DROPDOWNONLY);
+    mpActionBar->SetItemBits(TBI_TEMPLATE_ACTION, TIB_DROPDOWNONLY);
 
     // Set toolbox handlers
     mpViewBar->SetClickHdl(LINK(this,SfxTemplateManagerDlg,TBXViewHdl));
     mpViewBar->SetDropdownClickHdl(LINK(this,SfxTemplateManagerDlg,TBXDropdownHdl));
     mpActionBar->SetClickHdl(LINK(this,SfxTemplateManagerDlg,TBXActionHdl));
+    mpActionBar->SetDropdownClickHdl(LINK(this,SfxTemplateManagerDlg,TBXDropdownHdl));
     mpTemplateBar->SetClickHdl(LINK(this,SfxTemplateManagerDlg,TBXTemplateHdl));
 
     // Set view position below toolbox
@@ -255,6 +261,16 @@ IMPL_LINK(SfxTemplateManagerDlg, TBXDropdownHdl, ToolBox*, pBox)
         pBox->EndSelection();
         pBox->Invalidate();
         break;
+    case TBI_TEMPLATE_ACTION:
+        pBox->SetItemDown( nCurItemId, true );
+
+        mpActionMenu->Execute(pBox,pBox->GetItemRect(TBI_TEMPLATE_ACTION),
+                              POPUPMENU_EXECUTE_DOWN);
+
+        pBox->SetItemDown( nCurItemId, false );
+        pBox->EndSelection();
+        pBox->Invalidate();
+        break;
     default:
         break;
     }
@@ -325,6 +341,8 @@ IMPL_LINK(SfxTemplateManagerDlg, MenuSelectHdl, Menu*, pMenu)
     case MNI_CREATE_DRAW:
         lcl_createTemplate(mxDesktop,FILTER_APP_DRAW);
         break;
+    case MNI_ACTION_SORT_NAME:
+        break;
     default:
         break;
     }
diff --git a/sfx2/source/doc/templatedlg.hrc b/sfx2/source/doc/templatedlg.hrc
index 500d2dd..064e85c 100644
--- a/sfx2/source/doc/templatedlg.hrc
+++ b/sfx2/source/doc/templatedlg.hrc
@@ -34,9 +34,13 @@
 #define MNI_CREATE_PRESENT          21
 #define MNI_CREATE_DRAW             22
 
+#define MNI_ACTION_SORT_NAME        23
+
 #define STR_CREATE_TEXT             260
 #define STR_CREATE_SHEET            261
 #define STR_CREATE_PRESENT          262
 #define STR_CREATE_DRAW             263
 
+#define STR_ACTION_SORT_NAME        264
+
 #define IMG_ONLINE_REPOSITORY       100
diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src
index 06f1c54..e98ca37 100644
--- a/sfx2/source/doc/templatedlg.src
+++ b/sfx2/source/doc/templatedlg.src
@@ -30,6 +30,11 @@ String STR_CREATE_DRAW
     Text [ en-US ] = "Drawing Template";
 };
 
+String STR_ACTION_SORT_NAME
+{
+    Text [ en-US ] = "Sort by name";
+};
+
 ModalDialog DLG_TEMPLATE_MANAGER
 {
     HelpId = CMD_SID_TEMPLATE_MANAGER;
commit 82e89e6491cacd7f9a588f1bcd02e60bc1272915
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Mon Jun 25 17:36:48 2012 -0430

    Remove unneeded entry in action toolbar src file.
    
    Change-Id: I97ff31c527482fdb0f36bcf45b5c75802107938d

diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src
index 013b51e..06f1c54 100644
--- a/sfx2/source/doc/templatedlg.src
+++ b/sfx2/source/doc/templatedlg.src
@@ -152,12 +152,6 @@ ModalDialog DLG_TEMPLATE_MANAGER
                 Identifier = TBI_TEMPLATE_ACTION;
                 Text [en-US] = "Action Menu";
             };
-
-            ToolBoxItem
-            {
-                Identifier = TBI_TEMPLATE_IMPORT ;
-                Text [ en-US ] = "Import a template" ;
-            };
         };
     };
 
commit 2427f3e39ce578ad9bf1771db3da9adaea6a6c76
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Mon Jun 25 16:36:20 2012 -0430

    Display create template popup menu.
    
    Change-Id: Ifd1cae2e5d76f90305ceff97dee45407046251d7

diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx
index d606fd4..fdf458e 100644
--- a/sfx2/inc/templatedlg.hxx
+++ b/sfx2/inc/templatedlg.hxx
@@ -16,6 +16,7 @@
 #include <vcl/button.hxx>
 
 class Edit;
+class PopupMenu;
 class TemplateFolderView;
 class ThumbnailViewItem;
 class ToolBox;
@@ -49,10 +50,13 @@ private:
     DECL_LINK(TBXViewHdl, void*);
     DECL_LINK(TBXActionHdl, void*);
     DECL_LINK(TBXTemplateHdl, void*);
+    DECL_LINK(TBXDropdownHdl, ToolBox*);
 
     DECL_LINK(TVFolderStateHdl, const ThumbnailViewItem*);
     DECL_LINK(TVTemplateStateHdl, const ThumbnailViewItem*);
 
+    DECL_LINK(MenuSelectHdl, Menu*);
+
     void OnTemplateCreate ();
     void OnTemplateImport ();
     void OnTemplateSearch ();
@@ -76,6 +80,7 @@ private:
     ToolBox *mpActionBar;
     ToolBox *mpTemplateBar;
     TemplateFolderView *maView;
+    PopupMenu *mpCreateMenu;
 
     int mnSelectionCount;
     std::set<const ThumbnailViewItem*> maSelTemplates;
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index 39796dd..4a9215b 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -61,6 +61,14 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
 {
     maButtonSelMode.SetStyle(maButtonSelMode.GetStyle() | WB_TOGGLE);
 
+    // Create popup menus
+    mpCreateMenu = new PopupMenu;
+    mpCreateMenu->InsertItem(MNI_CREATE_TEXT,SfxResId(STR_CREATE_TEXT).toString());
+    mpCreateMenu->InsertItem(MNI_CREATE_SHEET,SfxResId(STR_CREATE_SHEET).toString());
+    mpCreateMenu->InsertItem(MNI_CREATE_PRESENT,SfxResId(STR_CREATE_PRESENT).toString());
+    mpCreateMenu->InsertItem(MNI_CREATE_DRAW,SfxResId(STR_CREATE_DRAW).toString());
+    mpCreateMenu->SetSelectHdl(LINK(this, SfxTemplateManagerDlg, MenuSelectHdl));
+
     // Calculate toolboxs size and positions
     Size aWinSize = GetOutputSize();
     Size aViewSize = mpViewBar->CalcMinimumWindowSizePixel();
@@ -82,8 +90,12 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
     mpViewBar->SetButtonType(BUTTON_SYMBOLTEXT);
     mpTemplateBar->SetButtonType(BUTTON_SYMBOLTEXT);
 
+    // Set toolbox button bits
+    mpViewBar->SetItemBits(TBI_TEMPLATE_CREATE, TIB_DROPDOWNONLY);
+
     // Set toolbox handlers
     mpViewBar->SetClickHdl(LINK(this,SfxTemplateManagerDlg,TBXViewHdl));
+    mpViewBar->SetDropdownClickHdl(LINK(this,SfxTemplateManagerDlg,TBXDropdownHdl));
     mpActionBar->SetClickHdl(LINK(this,SfxTemplateManagerDlg,TBXActionHdl));
     mpTemplateBar->SetClickHdl(LINK(this,SfxTemplateManagerDlg,TBXTemplateHdl));
 
@@ -125,6 +137,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
 SfxTemplateManagerDlg::~SfxTemplateManagerDlg ()
 {
     delete maView;
+    delete mpCreateMenu;
 }
 
 IMPL_LINK_NOARG(SfxTemplateManagerDlg,ViewAllHdl)
@@ -226,6 +239,29 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg,TBXTemplateHdl)
     return 0;
 }
 
+IMPL_LINK(SfxTemplateManagerDlg, TBXDropdownHdl, ToolBox*, pBox)
+{
+    const sal_uInt16 nCurItemId = pBox->GetCurItemId();
+
+    switch(nCurItemId)
+    {
+    case TBI_TEMPLATE_CREATE:
+        pBox->SetItemDown( nCurItemId, true );
+
+        mpCreateMenu->Execute(pBox,pBox->GetItemRect(TBI_TEMPLATE_CREATE),
+                              POPUPMENU_EXECUTE_DOWN);
+
+        pBox->SetItemDown( nCurItemId, false );
+        pBox->EndSelection();
+        pBox->Invalidate();
+        break;
+    default:
+        break;
+    }
+
+    return 0;
+}
+
 IMPL_LINK(SfxTemplateManagerDlg, TVFolderStateHdl, const ThumbnailViewItem*, pItem)
 {
     if (pItem->isSelected())
@@ -271,6 +307,31 @@ IMPL_LINK(SfxTemplateManagerDlg, TVTemplateStateHdl, const ThumbnailViewItem*, p
     return 0;
 }
 
+IMPL_LINK(SfxTemplateManagerDlg, MenuSelectHdl, Menu*, pMenu)
+{
+    sal_uInt16 nMenuId = pMenu->GetCurItemId();
+
+    switch(nMenuId)
+    {
+    case MNI_CREATE_TEXT:
+        lcl_createTemplate(mxDesktop,FILTER_APP_WRITER);
+        break;
+    case MNI_CREATE_SHEET:
+        lcl_createTemplate(mxDesktop,FILTER_APP_CALC);
+        break;
+    case MNI_CREATE_PRESENT:
+        lcl_createTemplate(mxDesktop,FILTER_APP_IMPRESS);
+        break;
+    case MNI_CREATE_DRAW:
+        lcl_createTemplate(mxDesktop,FILTER_APP_DRAW);
+        break;
+    default:
+        break;
+    }
+
+    return 0;
+}
+
 void SfxTemplateManagerDlg::OnTemplateCreate ()
 {
 }
diff --git a/sfx2/source/doc/templatedlg.hrc b/sfx2/source/doc/templatedlg.hrc
index 8afc9da..500d2dd 100644
--- a/sfx2/source/doc/templatedlg.hrc
+++ b/sfx2/source/doc/templatedlg.hrc
@@ -29,4 +29,14 @@
 #define TBI_TEMPLATE_MOVE           17
 #define TBI_TEMPLATE_DELETE         18
 
+#define MNI_CREATE_TEXT             19
+#define MNI_CREATE_SHEET            20
+#define MNI_CREATE_PRESENT          21
+#define MNI_CREATE_DRAW             22
+
+#define STR_CREATE_TEXT             260
+#define STR_CREATE_SHEET            261
+#define STR_CREATE_PRESENT          262
+#define STR_CREATE_DRAW             263
+
 #define IMG_ONLINE_REPOSITORY       100
diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src
index 41c1654..013b51e 100644
--- a/sfx2/source/doc/templatedlg.src
+++ b/sfx2/source/doc/templatedlg.src
@@ -10,6 +10,26 @@
 #include "templatedlg.hrc"
 #include "helpid.hrc"
 
+String STR_CREATE_TEXT
+{
+    Text [ en-US ] = "Text Document Template";
+};
+
+String STR_CREATE_SHEET
+{
+    Text [ en-US ] = "Spreedsheet Template";
+};
+
+String STR_CREATE_PRESENT
+{
+    Text [ en-US ] = "Presentation Template";
+};
+
+String STR_CREATE_DRAW
+{
+    Text [ en-US ] = "Drawing Template";
+};
+
 ModalDialog DLG_TEMPLATE_MANAGER
 {
     HelpId = CMD_SID_TEMPLATE_MANAGER;
commit 4d3d46efaa93848e13422a8be7b0e2c64ba3792c
Author: Rafael Dominguez <venccsralph at gmail.com>
Date:   Mon Jun 25 14:17:38 2012 -0430

    Set selection mode button tooltip.
    
    Change-Id: I83471df87217f0f3102ec0696087e26f3129012a

diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src
index 610add4..41c1654 100644
--- a/sfx2/source/doc/templatedlg.src
+++ b/sfx2/source/doc/templatedlg.src
@@ -72,6 +72,8 @@ ModalDialog DLG_TEMPLATE_MANAGER
         {
             ImageBitmap = Bitmap { File = "select.png" ; };
         };
+
+        QuickHelpText [en-US] = "Enables selecting items by just clicking in the thumbnail or title.";
     };
 
     Control TEMPLATE_VIEW


More information about the Libreoffice-commits mailing list