summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/UIConfig_sfx.mk1
-rw-r--r--sfx2/source/appl/app.hrc1
-rw-r--r--sfx2/source/appl/newhelp.cxx130
-rw-r--r--sfx2/source/appl/newhelp.hrc10
-rw-r--r--sfx2/source/appl/newhelp.hxx17
-rw-r--r--sfx2/source/appl/newhelp.src28
-rw-r--r--sfx2/source/inc/helpid.hrc1
-rw-r--r--sfx2/uiconfig/ui/helpindexpage.ui74
8 files changed, 127 insertions, 135 deletions
diff --git a/sfx2/UIConfig_sfx.mk b/sfx2/UIConfig_sfx.mk
index 614071b39619..7fcf9b0a3d61 100644
--- a/sfx2/UIConfig_sfx.mk
+++ b/sfx2/UIConfig_sfx.mk
@@ -23,6 +23,7 @@ $(eval $(call gb_UIConfig_add_uifiles,sfx,\
sfx2/uiconfig/ui/editdurationdialog \
sfx2/uiconfig/ui/errorfindemaildialog \
sfx2/uiconfig/ui/helpbookmarkpage \
+ sfx2/uiconfig/ui/helpindexpage \
sfx2/uiconfig/ui/inputdialog \
sfx2/uiconfig/ui/licensedialog \
sfx2/uiconfig/ui/managestylepage \
diff --git a/sfx2/source/appl/app.hrc b/sfx2/source/appl/app.hrc
index e6c1adca233d..79d94c12013f 100644
--- a/sfx2/source/appl/app.hrc
+++ b/sfx2/source/appl/app.hrc
@@ -43,7 +43,6 @@
#define WIN_HELPINDEX (RID_SFX_APP_START+99)
#define TP_HELP_CONTENT (RID_SFX_APP_START+100)
-#define TP_HELP_INDEX (RID_SFX_APP_START+101)
#define TP_HELP_SEARCH (RID_SFX_APP_START+102)
#define MENU_HELP_BOOKMARKS (RID_SFX_APP_START+105)
diff --git a/sfx2/source/appl/newhelp.cxx b/sfx2/source/appl/newhelp.cxx
index 0b1f653d1d26..509014d98698 100644
--- a/sfx2/source/appl/newhelp.cxx
+++ b/sfx2/source/appl/newhelp.cxx
@@ -470,16 +470,24 @@ Control* ContentTabPage_Impl::GetLastFocusControl()
// class IndexBox_Impl ---------------------------------------------------
-IndexBox_Impl::IndexBox_Impl( Window* pParent, const ResId& rResId ) :
-
- ComboBox( pParent, rResId )
-
+IndexBox_Impl::IndexBox_Impl(Window* pParent, WinBits nStyle)
+ : ComboBox(pParent, nStyle)
{
- EnableAutocomplete( true );
- EnableUserDraw( true );
+ EnableAutocomplete(true);
+ EnableUserDraw(true);
}
-
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeIndexBox(Window *pParent,
+ VclBuilder::stringmap &rMap)
+{
+ WinBits nWinBits = WB_CLIPCHILDREN|WB_LEFT|WB_VCENTER|WB_3DLOOK;
+ OString sBorder = VclBuilder::extractCustomProperty(rMap);
+ if (!sBorder.isEmpty())
+ nWinBits |= WB_BORDER;
+ IndexBox_Impl* pListBox = new IndexBox_Impl(pParent, nWinBits);
+ pListBox->EnableAutoSize(true);
+ return pListBox;
+}
void IndexBox_Impl::UserDraw( const UserDrawEvent& rUDEvt )
{
@@ -537,31 +545,25 @@ void IndexBox_Impl::SelectExecutableEntry()
// class IndexTabPage_Impl -----------------------------------------------
-IndexTabPage_Impl::IndexTabPage_Impl( Window* pParent, SfxHelpIndexWindow_Impl* _pIdxWin ) :
-
- HelpTabPage_Impl( pParent, _pIdxWin, SfxResId( TP_HELP_INDEX ) ),
-
- aExpressionFT ( this, SfxResId( FT_EXPRESSION ) ),
- aIndexCB ( this, SfxResId( CB_INDEX ) ),
- aOpenBtn ( this, SfxResId( PB_OPEN_INDEX ) ),
-
- bIsActivated ( sal_False )
-
+IndexTabPage_Impl::IndexTabPage_Impl(Window* pParent, SfxHelpIndexWindow_Impl* _pIdxWin)
+ : HelpTabPage_Impl(pParent, _pIdxWin, "HelpIndexPage",
+ "sfx/ui/helpindexpage.ui")
+ , bIsActivated(false)
{
- FreeResource();
+ get(m_pIndexCB, "terms");
+ Size aSize(LogicToPixel(Size(108, 97), MAP_APPFONT));
+ m_pIndexCB->set_width_request(aSize.Width());
+ m_pIndexCB->set_height_request(aSize.Height());
+ get(m_pOpenBtn, "display");
- aOpenBtn.SetClickHdl( LINK( this, IndexTabPage_Impl, OpenHdl ) );
+ m_pOpenBtn->SetClickHdl( LINK( this, IndexTabPage_Impl, OpenHdl ) );
Link aTimeoutLink = LINK( this, IndexTabPage_Impl, TimeoutHdl );
aFactoryTimer.SetTimeoutHdl( aTimeoutLink );
aFactoryTimer.SetTimeout( 300 );
aKeywordTimer.SetTimeoutHdl( aTimeoutLink );
aFactoryTimer.SetTimeout( 300 );
-
- nMinWidth = aOpenBtn.GetSizePixel().Width();
}
-
-
IndexTabPage_Impl::~IndexTabPage_Impl()
{
ClearIndex();
@@ -597,18 +599,18 @@ namespace sfx2 {
#define UNIFY_AND_INSERT_TOKEN( aToken ) \
it = aInfo.insert( sfx2::KeywordInfo::value_type( aToken, 0 ) ).first; \
if ( ( tmp = it->second++ ) != 0 ) \
- nPos = aIndexCB.InsertEntry( aToken + OUString( append, tmp ) ); \
+ nPos = m_pIndexCB->InsertEntry( aToken + OUString( append, tmp ) ); \
else \
- nPos = aIndexCB.InsertEntry( aToken )
+ nPos = m_pIndexCB->InsertEntry( aToken )
#define INSERT_DATA( j ) \
if ( aAnchorList[j].getLength() > 0 ) \
{ \
aData.append( aRefList[j] ).append( '#' ).append( aAnchorList[j] ); \
- aIndexCB.SetEntryData( nPos, NEW_ENTRY( aData.makeStringAndClear(), insert ) ); \
+ m_pIndexCB->SetEntryData( nPos, NEW_ENTRY( aData.makeStringAndClear(), insert ) ); \
} \
else \
- aIndexCB.SetEntryData( nPos, NEW_ENTRY( aRefList[j], insert ) );
+ m_pIndexCB->SetEntryData( nPos, NEW_ENTRY( aRefList[j], insert ) );
@@ -622,7 +624,7 @@ void IndexTabPage_Impl::InitializeIndex()
append[k] = ' ';
sfx2::KeywordInfo aInfo;
- aIndexCB.SetUpdateMode( false );
+ m_pIndexCB->SetUpdateMode( false );
try
{
@@ -719,7 +721,7 @@ void IndexTabPage_Impl::InitializeIndex()
OSL_FAIL( "IndexTabPage_Impl::InitializeIndex(): unexpected exception" );
}
- aIndexCB.SetUpdateMode( true );
+ m_pIndexCB->SetUpdateMode( true );
if ( !sKeyword.isEmpty() )
aKeywordLink.Call( this );
@@ -732,22 +734,18 @@ void IndexTabPage_Impl::InitializeIndex()
void IndexTabPage_Impl::ClearIndex()
{
- sal_uInt16 nCount = aIndexCB.GetEntryCount();
+ sal_uInt16 nCount = m_pIndexCB->GetEntryCount();
for ( sal_uInt16 i = 0; i < nCount; ++i )
- delete (IndexEntry_Impl*)(sal_uIntPtr)aIndexCB.GetEntryData(i);
- aIndexCB.Clear();
+ delete (IndexEntry_Impl*)(sal_uIntPtr)m_pIndexCB->GetEntryData(i);
+ m_pIndexCB->Clear();
}
-
-
IMPL_LINK_NOARG(IndexTabPage_Impl, OpenHdl)
{
- aIndexCB.GetDoubleClickHdl().Call( &aIndexCB );
+ m_pIndexCB->GetDoubleClickHdl().Call(m_pIndexCB);
return 0;
}
-
-
IMPL_LINK( IndexTabPage_Impl, TimeoutHdl, Timer*, pTimer )
{
if ( &aFactoryTimer == pTimer )
@@ -757,43 +755,11 @@ IMPL_LINK( IndexTabPage_Impl, TimeoutHdl, Timer*, pTimer )
return 0;
}
-
-
-void IndexTabPage_Impl::Resize()
-{
- Size aSize = GetSizePixel();
- if ( aSize.Width() < nMinWidth )
- aSize.Width() = nMinWidth;
- Point aPnt = aExpressionFT.GetPosPixel();
- Size aNewSize = aExpressionFT.GetSizePixel();
- aNewSize.Width() = aSize.Width() - ( aPnt.X() * 2 );
- aExpressionFT.SetSizePixel( aNewSize );
-
- Size a6Size = LogicToPixel( Size( 6, 6 ), MAP_APPFONT );
- Size aBtnSize = aOpenBtn.GetSizePixel();
-
- aPnt = aIndexCB.GetPosPixel();
- aNewSize = aIndexCB.GetSizePixel();
- aNewSize.Width() = aSize.Width() - ( aPnt.X() * 2 );
- aNewSize.Height() = aSize.Height() - aPnt.Y();
- aNewSize.Height() -= ( aBtnSize.Height() + ( a6Size.Height() * 3 / 2 ) );
- aIndexCB.SetSizePixel( aNewSize );
-
- aPnt.X() += ( aNewSize.Width() - aBtnSize.Width() );
- aPnt.Y() += aNewSize.Height() + ( a6Size.Height() / 2 );
- long nMinX = aIndexCB.GetPosPixel().X();
- if ( aPnt.X() < nMinX )
- aPnt.X() = nMinX;
- aOpenBtn.SetPosPixel( aPnt );
-}
-
-
-
void IndexTabPage_Impl::ActivatePage()
{
if ( !bIsActivated )
{
- bIsActivated = sal_True;
+ bIsActivated = true;
aFactoryTimer.Start();
}
@@ -801,22 +767,16 @@ void IndexTabPage_Impl::ActivatePage()
SetFocusOnBox();
}
-
-
Control* IndexTabPage_Impl::GetLastFocusControl()
{
- return &aOpenBtn;
+ return m_pOpenBtn;
}
-
-
void IndexTabPage_Impl::SetDoubleClickHdl( const Link& rLink )
{
- aIndexCB.SetDoubleClickHdl( rLink );
+ m_pIndexCB->SetDoubleClickHdl( rLink );
}
-
-
void IndexTabPage_Impl::SetFactory( const OUString& rFactory )
{
OUString sNewFactory( rFactory );
@@ -843,7 +803,7 @@ void IndexTabPage_Impl::SetFactory( const OUString& rFactory )
OUString IndexTabPage_Impl::GetSelectEntry() const
{
OUString aRet;
- IndexEntry_Impl* pEntry = (IndexEntry_Impl*)(sal_uIntPtr)aIndexCB.GetEntryData( aIndexCB.GetEntryPos( aIndexCB.GetText() ) );
+ IndexEntry_Impl* pEntry = (IndexEntry_Impl*)(sal_uIntPtr)m_pIndexCB->GetEntryData( m_pIndexCB->GetEntryPos( m_pIndexCB->GetText() ) );
if ( pEntry )
aRet = pEntry->m_aURL;
return aRet;
@@ -855,7 +815,7 @@ void IndexTabPage_Impl::SetKeyword( const OUString& rKeyword )
{
sKeyword = rKeyword;
- if ( aIndexCB.GetEntryCount() > 0 )
+ if ( m_pIndexCB->GetEntryCount() > 0 )
aKeywordTimer.Start();
else if ( !bIsActivated )
aFactoryTimer.Start();
@@ -868,7 +828,7 @@ sal_Bool IndexTabPage_Impl::HasKeyword() const
sal_Bool bRet = sal_False;
if ( !sKeyword.isEmpty() )
{
- sal_uInt16 nPos = aIndexCB.GetEntryPos( sKeyword );
+ sal_uInt16 nPos = m_pIndexCB->GetEntryPos( sKeyword );
bRet = ( nPos != LISTBOX_ENTRY_NOTFOUND );
}
@@ -882,12 +842,12 @@ sal_Bool IndexTabPage_Impl::HasKeywordIgnoreCase()
sal_Bool bRet = sal_False;
if ( !sKeyword.isEmpty() )
{
- sal_uInt16 nEntries = aIndexCB.GetEntryCount();
+ sal_uInt16 nEntries = m_pIndexCB->GetEntryCount();
OUString sIndexItem;
const vcl::I18nHelper& rI18nHelper = GetSettings().GetLocaleI18nHelper();
for ( sal_uInt16 n = 0; n < nEntries; n++)
{
- sIndexItem = aIndexCB.GetEntry( n );
+ sIndexItem = m_pIndexCB->GetEntry( n );
if (rI18nHelper.MatchString( sIndexItem, sKeyword ))
{
sKeyword = sIndexItem;
@@ -905,8 +865,8 @@ void IndexTabPage_Impl::OpenKeyword()
{
if ( !sKeyword.isEmpty() )
{
- aIndexCB.SetText( sKeyword );
- aIndexCB.GetDoubleClickHdl().Call( NULL );
+ m_pIndexCB->SetText( sKeyword );
+ m_pIndexCB->GetDoubleClickHdl().Call( NULL );
sKeyword = "";
}
}
diff --git a/sfx2/source/appl/newhelp.hrc b/sfx2/source/appl/newhelp.hrc
index bfaab51590dc..1b2df11d22bf 100644
--- a/sfx2/source/appl/newhelp.hrc
+++ b/sfx2/source/appl/newhelp.hrc
@@ -26,11 +26,6 @@
#define FL_ACTIVE 11
#define TC_INDEX 12
-// Index TabPage
-#define FT_EXPRESSION 10
-#define CB_INDEX 11
-#define PB_OPEN_INDEX 12
-
// Search TabPage
#define FT_SEARCH 10
#define ED_SEARCH 11
@@ -41,11 +36,6 @@
#define LB_RESULT 16
#define PB_OPEN_SEARCH 17
-// Bookmarks TabPage
-#define FT_BOOKMARKS 10
-#define LB_BOOKMARKS 11
-#define PB_BOOKMARKS 12
-
// Content TabPage
#define LB_CONTENTS 10
diff --git a/sfx2/source/appl/newhelp.hxx b/sfx2/source/appl/newhelp.hxx
index 0feff967a084..3d89f8968cda 100644
--- a/sfx2/source/appl/newhelp.hxx
+++ b/sfx2/source/appl/newhelp.hxx
@@ -109,7 +109,7 @@ public:
class IndexBox_Impl : public ComboBox
{
public:
- IndexBox_Impl( Window* pParent, const ResId& rResId );
+ IndexBox_Impl(Window* pParent, WinBits nStyle);
virtual void UserDraw( const UserDrawEvent& rUDEvt );
virtual bool Notify( NotifyEvent& rNEvt );
@@ -120,9 +120,8 @@ public:
class IndexTabPage_Impl : public HelpTabPage_Impl
{
private:
- FixedText aExpressionFT;
- IndexBox_Impl aIndexCB;
- PushButton aOpenBtn;
+ IndexBox_Impl* m_pIndexCB;
+ PushButton* m_pOpenBtn;
Timer aFactoryTimer;
Timer aKeywordTimer;
@@ -131,8 +130,7 @@ private:
OUString sFactory;
OUString sKeyword;
- long nMinWidth;
- sal_Bool bIsActivated;
+ bool bIsActivated;
void InitializeIndex();
void ClearIndex();
@@ -144,7 +142,6 @@ public:
IndexTabPage_Impl( Window* pParent, SfxHelpIndexWindow_Impl* _pIdxWin );
~IndexTabPage_Impl();
- virtual void Resize();
virtual void ActivatePage();
virtual Control* GetLastFocusControl();
@@ -152,8 +149,8 @@ public:
void SetFactory( const OUString& rFactory );
inline OUString GetFactory() const { return sFactory; }
OUString GetSelectEntry() const;
- inline void SetFocusOnBox() { aIndexCB.GrabFocus(); }
- inline sal_Bool HasFocusOnEdit() const { return aIndexCB.HasChildPathFocus(); }
+ inline void SetFocusOnBox() { m_pIndexCB->GrabFocus(); }
+ inline sal_Bool HasFocusOnEdit() const { return m_pIndexCB->HasChildPathFocus(); }
inline void SetKeywordHdl( const Link& rLink ) { aKeywordLink = rLink; }
void SetKeyword( const OUString& rKeyword );
@@ -161,7 +158,7 @@ public:
sal_Bool HasKeywordIgnoreCase();
void OpenKeyword();
- inline void SelectExecutableEntry() { aIndexCB.SelectExecutableEntry(); }
+ inline void SelectExecutableEntry() { m_pIndexCB->SelectExecutableEntry(); }
};
// class SearchTabPage_Impl ----------------------------------------------
diff --git a/sfx2/source/appl/newhelp.src b/sfx2/source/appl/newhelp.src
index 33058f38d0bc..faea199e5793 100644
--- a/sfx2/source/appl/newhelp.src
+++ b/sfx2/source/appl/newhelp.src
@@ -71,34 +71,6 @@ Window WIN_HELPINDEX
};
};
-TabPage TP_HELP_INDEX
-{
- HelpId = HID_HELP_TABPAGE_INDEX;
- Hide = TRUE ;
- DialogControl = TRUE;
- Size = MAP_APPFONT ( 120 , 200 ) ;
- FixedText FT_EXPRESSION
- {
- Pos = MAP_APPFONT ( 6 , 6 ) ;
- Size = MAP_APPFONT ( 108 , 10 ) ;
- Text [ en-US ] = "~Search term" ;
- };
- ComboBox CB_INDEX
- {
- HelpID = "sfx2:ComboBox:TP_HELP_INDEX:CB_INDEX";
- Border = TRUE ;
- Pos = MAP_APPFONT ( 6 , 17 ) ;
- Size = MAP_APPFONT ( 108 , 97 ) ;
- };
- PushButton PB_OPEN_INDEX
- {
- HelpID = "sfx2:PushButton:TP_HELP_INDEX:PB_OPEN_INDEX";
- Pos = MAP_APPFONT ( 64 , 115 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- Text [ en-US ] = "~Display" ;
- };
-};
-
TabPage TP_HELP_SEARCH
{
HelpId = HID_HELP_TABPAGE_SEARCH;
diff --git a/sfx2/source/inc/helpid.hrc b/sfx2/source/inc/helpid.hrc
index 240acad4cf66..cf67e77d5eb5 100644
--- a/sfx2/source/inc/helpid.hrc
+++ b/sfx2/source/inc/helpid.hrc
@@ -105,7 +105,6 @@
#define HID_HELP_TOOLBOXITEM_PRINT "SFX2_HID_HELP_TOOLBOXITEM_PRINT"
#define HID_HELP_TOOLBOXITEM_BOOKMARKS "SFX2_HID_HELP_TOOLBOXITEM_BOOKMARKS"
#define HID_HELP_TABPAGE_CONTENTS "SFX2_HID_HELP_TABPAGE_CONTENTS"
-#define HID_HELP_TABPAGE_INDEX "SFX2_HID_HELP_TABPAGE_INDEX"
#define HID_HELP_TABPAGE_SEARCH "SFX2_HID_HELP_TABPAGE_SEARCH"
#define HID_TBXCONTROL_FILENEW "SFX2_HID_TBXCONTROL_FILENEW"
#define HID_HELP_TOOLBOXITEM_SEARCHDIALOG "SFX2_HID_HELP_TOOLBOXITEM_SEARCHDIALOG"
diff --git a/sfx2/uiconfig/ui/helpindexpage.ui b/sfx2/uiconfig/ui/helpindexpage.ui
new file mode 100644
index 000000000000..a9728f7b2921
--- /dev/null
+++ b/sfx2/uiconfig/ui/helpindexpage.ui
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.16.1 -->
+<interface>
+ <!-- interface-requires LibreOffice 1.0 -->
+ <requires lib="gtk+" version="3.0"/>
+ <object class="GtkBox" id="HelpIndexPage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="border_width">6</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkGrid" id="grid1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <object class="GtkButton" id="display">
+ <property name="label" translatable="yes">_Display</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="halign">end</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Search term</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">terms:border</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="sfxlo-IndexBox" id="terms:border">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+</interface>