summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat@free.fr>2012-12-12 15:43:24 +0100
committerCédric Bosdonnat <cedric.bosdonnat@free.fr>2012-12-12 15:47:05 +0100
commit7b66f322966d974ae7b3456f2e1b71e6e4807622 (patch)
treeb0da0c47724fcf5fd993ff1f2b24e7a26e81ca6a /sfx2
parent5613bcfc6dc0ea45f8baeef9a8469a77c31365f5 (diff)
Template manager: use tabs instead of buttons to filter the documents
Change-Id: I2ec7baffaf5e88c7daf6040bdac8e173651b42f1
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/inc/templatedlg.hxx15
-rw-r--r--sfx2/source/doc/templatedlg.cxx103
-rw-r--r--sfx2/source/doc/templatedlg.hrc12
-rw-r--r--sfx2/source/doc/templatedlg.src79
4 files changed, 79 insertions, 130 deletions
diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx
index ae2cb1697289..bbdcbda66d22 100644
--- a/sfx2/inc/templatedlg.hxx
+++ b/sfx2/inc/templatedlg.hxx
@@ -14,6 +14,7 @@
#include <vcl/dialog.hxx>
#include <vcl/button.hxx>
+#include <vcl/tabctrl.hxx>
class Edit;
class PopupMenu;
@@ -45,11 +46,7 @@ public:
void setDocumentModel (const com::sun::star::uno::Reference<com::sun::star::frame::XModel> &rModel);
- DECL_LINK(ViewAllHdl, void*);
- DECL_LINK(ViewDocsHdl, void*);
- DECL_LINK(ViewPresentsHdl, void*);
- DECL_LINK(ViewSheetsHdl, void*);
- DECL_LINK(ViewDrawsHdl, void*);
+ DECL_LINK(ActivatePageHdl, void*);
private:
@@ -87,8 +84,6 @@ private:
void OnRepositoryDelete ();
void OnTemplateSaveAs ();
- void centerTopButtons ();
-
void createRepositoryMenu ();
void createDefaultTemplateMenu ();
@@ -116,11 +111,7 @@ private:
private:
- PushButton aButtonAll;
- PushButton aButtonDocs;
- PushButton aButtonPresents;
- PushButton aButtonSheets;
- PushButton aButtonDraws;
+ TabControl maTabControl;
Control *mpToolbars;
Edit *mpSearchEdit;
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index e0ea98c92b23..548fdd92e055 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -99,12 +99,8 @@ private:
SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
: ModelessDialog(parent, SfxResId(DLG_TEMPLATE_MANAGER)),
- aButtonAll(this,SfxResId(BTN_SELECT_ALL)),
- aButtonDocs(this,SfxResId(BTN_SELECT_DOCS)),
- aButtonPresents(this,SfxResId(BTN_SELECT_PRESENTATIONS)),
- aButtonSheets(this,SfxResId(BTN_SELECT_SHEETS)),
- aButtonDraws(this,SfxResId(BTN_SELECT_DRAWS)),
- mpToolbars( new Control(this,SfxResId(TOOLBARS))),
+ maTabControl(this,SfxResId(TAB_CONTROL)),
+ mpToolbars( new Control(&maTabControl,SfxResId(TOOLBARS))),
mpSearchEdit(new Edit(this,WB_HIDE | WB_BORDER)),
mpViewBar( new ToolBox(mpToolbars, SfxResId(TBX_ACTION_VIEW))),
mpActionBar( new ToolBox(mpToolbars, SfxResId(TBX_ACTION_ACTION))),
@@ -131,6 +127,14 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
Size aWinSize = GetOutputSize();
+ // Fit the tab page control and the toolbars
+ Size aTabSize = maTabControl.GetSizePixel();
+ Size aTabPageSize = maTabControl.GetTabPageSizePixel();
+ Point aToolbarsPos(0, aTabSize.getHeight() - aTabPageSize.getHeight());
+ mpToolbars->SetPosPixel(aToolbarsPos);
+ aTabPageSize.setHeight(mpToolbars->GetSizePixel().getHeight() + 3);
+ maTabControl.SetTabPageSizePixel(aTabPageSize);
+
// Calculate toolboxs size and positions
Size aViewSize = mpViewBar->CalcMinimumWindowSizePixel();
Size aActionSize = mpActionBar->CalcMinimumWindowSizePixel();
@@ -166,7 +170,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
// Set view position below toolbox
Point aViewPos = maView->GetPosPixel();
- aViewPos.setY(mpToolbars->GetPosPixel().Y() + mpToolbars->GetSizePixel().getHeight());
+ aViewPos.setY(maTabControl.GetPosPixel().Y() + maTabControl.GetSizePixel().getHeight());
aViewPos.setX(0);
Size aThumbSize(aWinSize.getWidth(), aWinSize.getHeight() - aViewPos.getY());
maView->SetPosSizePixel(aViewPos, aThumbSize);
@@ -179,7 +183,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
aSearchSize.setWidth(aWinSize.getWidth() - 2*PADDING_DLG_BORDER);
mpSearchEdit->SetSizePixel(aSearchSize);
- mpSearchEdit->SetPosPixel(Point(PADDING_DLG_BORDER,aActionPos.Y()+aActionSize.getHeight()));
+ mpSearchEdit->SetPosPixel(Point(PADDING_DLG_BORDER,aViewPos.Y()));
mpSearchEdit->SetUpdateDataHdl(LINK(this,SfxTemplateManagerDlg,SearchUpdateHdl));
mpSearchEdit->EnableUpdateData();
@@ -218,17 +222,11 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
mpSearchView->setItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVTemplateStateHdl));
- aButtonAll.SetClickHdl(LINK(this,SfxTemplateManagerDlg,ViewAllHdl));
- aButtonDocs.SetClickHdl(LINK(this,SfxTemplateManagerDlg,ViewDocsHdl));
- aButtonPresents.SetClickHdl(LINK(this,SfxTemplateManagerDlg,ViewPresentsHdl));
- aButtonSheets.SetClickHdl(LINK(this,SfxTemplateManagerDlg,ViewSheetsHdl));
- aButtonDraws.SetClickHdl(LINK(this,SfxTemplateManagerDlg,ViewDrawsHdl));
+ maTabControl.SetActivatePageHdl(LINK(this,SfxTemplateManagerDlg,ActivatePageHdl));
// Set dialog to correct dimensions
SetSizePixel(aWinSize);
- centerTopButtons();
-
mpViewBar->Show();
mpActionBar->Show();
@@ -285,33 +283,28 @@ void SfxTemplateManagerDlg::setDocumentModel(const uno::Reference<frame::XModel>
m_xModel = rModel;
}
-IMPL_LINK_NOARG(SfxTemplateManagerDlg,ViewAllHdl)
-{
- mpCurView->filterTemplatesByApp(FILTER_APP_NONE);
- return 0;
-}
-
-IMPL_LINK_NOARG(SfxTemplateManagerDlg,ViewDocsHdl)
-{
- mpCurView->filterTemplatesByApp(FILTER_APP_WRITER);
- return 0;
-}
-
-IMPL_LINK_NOARG(SfxTemplateManagerDlg,ViewPresentsHdl)
-{
- mpCurView->filterTemplatesByApp(FILTER_APP_IMPRESS);
- return 0;
-}
-
-IMPL_LINK_NOARG(SfxTemplateManagerDlg,ViewSheetsHdl)
-{
- mpCurView->filterTemplatesByApp(FILTER_APP_CALC);
- return 0;
-}
-
-IMPL_LINK_NOARG(SfxTemplateManagerDlg,ViewDrawsHdl)
+IMPL_LINK_NOARG(SfxTemplateManagerDlg,ActivatePageHdl)
{
- mpCurView->filterTemplatesByApp(FILTER_APP_DRAW);
+ FILTER_APPLICATION eFilter = FILTER_APP_NONE;
+ switch (maTabControl.GetCurPageId())
+ {
+ case FILTER_DOCS:
+ eFilter = FILTER_APP_WRITER;
+ break;
+ case FILTER_PRESENTATIONS:
+ eFilter = FILTER_APP_IMPRESS;
+ break;
+ case FILTER_SHEETS:
+ eFilter = FILTER_APP_CALC;
+ break;
+ case FILTER_DRAWS:
+ eFilter = FILTER_APP_DRAW;
+ break;
+ default:
+ case FILTER_ALL:
+ ;
+ }
+ mpCurView->filterTemplatesByApp(eFilter);
return 0;
}
@@ -927,7 +920,7 @@ void SfxTemplateManagerDlg::OnTemplateSearch ()
mpActionBar->SetItemState(TBI_TEMPLATE_SEARCH,STATE_CHECK);
}
- SetSizePixel(aWinSize);
+// SetSizePixel(aWinSize);
maView->SetPosPixel(aPos);
mpOnlineView->SetPosPixel(aPos);
mpSearchView->SetPosPixel(aPos);
@@ -1194,32 +1187,6 @@ void SfxTemplateManagerDlg::OnTemplateSaveAs()
}
}
-void SfxTemplateManagerDlg::centerTopButtons()
-{
- Point aFirstBtnPos = aButtonAll.GetPosPixel();
-
- Size aBtnSize = aButtonAll.GetOutputSize();
- Size aWinSize = GetOutputSize();
-
- long nTotalWidth = aBtnSize.getWidth()*5;
- long nSpace = (aWinSize.getWidth() - nTotalWidth)/2;
-
- Point aBtnPos(nSpace,aFirstBtnPos.getY());
- aButtonAll.SetPosPixel(aBtnPos);
-
- aBtnPos.setX(aBtnPos.getX() + aBtnSize.getWidth());
- aButtonDocs.SetPosPixel(aBtnPos);
-
- aBtnPos.setX(aBtnPos.getX() + aBtnSize.getWidth());
- aButtonPresents.SetPosPixel(aBtnPos);
-
- aBtnPos.setX(aBtnPos.getX() + aBtnSize.getWidth());
- aButtonSheets.SetPosPixel(aBtnPos);
-
- aBtnPos.setX(aBtnPos.getX() + aBtnSize.getWidth());
- aButtonDraws.SetPosPixel(aBtnPos);
-}
-
void SfxTemplateManagerDlg::createRepositoryMenu()
{
mpRepositoryMenu->Clear();
diff --git a/sfx2/source/doc/templatedlg.hrc b/sfx2/source/doc/templatedlg.hrc
index 7624e4829bcf..02c6702ff385 100644
--- a/sfx2/source/doc/templatedlg.hrc
+++ b/sfx2/source/doc/templatedlg.hrc
@@ -6,12 +6,12 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
-#define BTN_SELECT_ALL 1
-#define BTN_SELECT_DOCS 2
-#define BTN_SELECT_PRESENTATIONS 3
-#define BTN_SELECT_SHEETS 4
-#define BTN_SELECT_DRAWS 5
-#define BTN_SELECTION_MODE 6
+#define TAB_CONTROL 1
+#define FILTER_ALL 2
+#define FILTER_DOCS 3
+#define FILTER_PRESENTATIONS 4
+#define FILTER_SHEETS 5
+#define FILTER_DRAWS 6
#define TEMPLATE_VIEW 7
diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src
index 7a6118661009..a9ed10d2dec3 100644
--- a/sfx2/source/doc/templatedlg.src
+++ b/sfx2/source/doc/templatedlg.src
@@ -111,50 +111,43 @@ ModelessDialog DLG_TEMPLATE_MANAGER
Size = MAP_APPFONT ( 290 , 250 );
Text [en-US] = "Template Manager";
- PushButton BTN_SELECT_ALL
+ TabControl TAB_CONTROL
{
- Pos = MAP_APPFONT(10,5);
- Size = MAP_APPFONT(50,14);
- TabStop = TRUE;
- DefButton = TRUE;
- Text [en-US] = "All";
- };
-
- PushButton BTN_SELECT_DOCS
- {
- Pos = MAP_APPFONT(60,5);
- Size = MAP_APPFONT(50,14);
- TabStop = TRUE;
- Text [en-US] = "Documents";
- };
-
- PushButton BTN_SELECT_PRESENTATIONS
- {
- Pos = MAP_APPFONT(110,5);
- Size = MAP_APPFONT(50,14);
- TabStop = TRUE;
- Text [en-US] = "Presentations";
- };
-
- PushButton BTN_SELECT_SHEETS
- {
- Pos = MAP_APPFONT(160,5);
- Size = MAP_APPFONT(50,14);
- TabStop = TRUE;
- Text [en-US] = "Spreadsheets";
- };
-
- PushButton BTN_SELECT_DRAWS
- {
- Pos = MAP_APPFONT(210,5);
- Size = MAP_APPFONT(50,14);
- TabStop = TRUE;
- Text [en-US] = "Drawings";
+ OutputSize = TRUE;
+ Size = MAP_APPFONT( 290, 22 );
+ Pos = MAP_APPFONT( 0, 0 );
+ PageList =
+ {
+ PageItem
+ {
+ Identifier = FILTER_ALL;
+ Text [ en-US ] = "All";
+ };
+ PageItem
+ {
+ Identifier = FILTER_DOCS;
+ Text [ en-US ] = "Documents";
+ };
+ PageItem
+ {
+ Identifier = FILTER_SHEETS;
+ Text [ en-US ] = "Spreadsheets";
+ };
+ PageItem
+ {
+ Identifier = FILTER_PRESENTATIONS;
+ Text [ en-US ] = "Presentations";
+ };
+ PageItem
+ {
+ Identifier = FILTER_DRAWS;
+ Text [ en-US ] = "Drawings";
+ };
+ };
};
Control TEMPLATE_VIEW
{
- Pos = MAP_APPFONT(5,30);
Size = MAP_APPFONT(280,220);
TabStop = TRUE;
};
@@ -177,8 +170,7 @@ ModelessDialog DLG_TEMPLATE_MANAGER
Control TOOLBARS
{
- Pos = MAP_APPFONT( 0 , 22 );
- Size = MAP_APPFONT( 290 , 20 );
+ Size = MAP_APPFONT( 290 , 16 );
TabStop = False;
};
@@ -242,7 +234,6 @@ ModelessDialog DLG_TEMPLATE_MANAGER
ToolBox TBX_ACTION_ACTION
{
SVLook = TRUE ;
- TabStop = TRUE ;
Pos = MAP_APPFONT ( 4 , 0 ) ;
ItemList =
@@ -254,7 +245,7 @@ ModelessDialog DLG_TEMPLATE_MANAGER
ItemImage = Image
{
- ImageBitmap = Bitmap { File = "search.png" ; };
+ ImageBitmap = Bitmap { File = "actionaction012.png" ; };
};
};
@@ -265,7 +256,7 @@ ModelessDialog DLG_TEMPLATE_MANAGER
ItemImage = Image
{
- ImageBitmap = Bitmap { File = "exec_action.png" ; };
+ ImageBitmap = Bitmap { File = "actionaction013.png" ; };
};
};
};