Kaydet (Commit) a3eec8a0 authored tarafından Samuel Mehrbrodt's avatar Samuel Mehrbrodt

Toolbar: Add 'Save As' to 'Save' dropdown

Change-Id: I6597ae5569b29d09a8c44fc9a55b71166aa37b05
üst 928fb2c7
...@@ -51,8 +51,7 @@ ...@@ -51,8 +51,7 @@
#define STR_CLEAR_RECENT_FILES_HELP (RID_STR_START+24) #define STR_CLEAR_RECENT_FILES_HELP (RID_STR_START+24)
#define STR_LANGSTATUS_HINT (RID_STR_START+25) #define STR_LANGSTATUS_HINT (RID_STR_START+25)
#define STR_OPEN_REMOTE (RID_STR_START+26) #define STR_OPEN_REMOTE (RID_STR_START+26)
#define STR_REMOTE_FILE (RID_STR_START+27) #define STR_REMOTE_TITLE (RID_STR_START+27)
#define STR_REMOTE_TITLE (RID_STR_START+28)
#define POPUPMENU_TOOLBAR_QUICKCUSTOMIZATION (RID_MENU_START+0) #define POPUPMENU_TOOLBAR_QUICKCUSTOMIZATION (RID_MENU_START+0)
......
...@@ -119,11 +119,6 @@ String STR_OPEN_REMOTE ...@@ -119,11 +119,6 @@ String STR_OPEN_REMOTE
Text [ en-US ] = "Open remote file"; Text [ en-US ] = "Open remote file";
}; };
String STR_REMOTE_FILE
{
Text [ en-US ] = "Save Remote File...";
};
String STR_REMOTE_TITLE String STR_REMOTE_TITLE
{ {
Text [ en-US ] = " (Remote)"; Text [ en-US ] = " (Remote)";
......
...@@ -40,6 +40,7 @@ using namespace framework; ...@@ -40,6 +40,7 @@ using namespace framework;
namespace { namespace {
static const char CMD_SAVEAS[] = ".uno:SaveAs";
static const char CMD_SAVE_REMOTE[] = ".uno:SaveAsRemote"; static const char CMD_SAVE_REMOTE[] = ".uno:SaveAsRemote";
class SaveAsMenuController : public svt::PopupMenuControllerBase class SaveAsMenuController : public svt::PopupMenuControllerBase
...@@ -112,11 +113,8 @@ void SaveAsMenuController::fillPopupMenu( Reference< css::awt::XPopupMenu >& rPo ...@@ -112,11 +113,8 @@ void SaveAsMenuController::fillPopupMenu( Reference< css::awt::XPopupMenu >& rPo
if ( pVCLPopupMenu ) if ( pVCLPopupMenu )
{ {
// Open remote menu entry pVCLPopupMenu->InsertItem( CMD_SAVEAS, m_xFrame );
pVCLPopupMenu->InsertItem( sal_uInt16( 1 ), pVCLPopupMenu->InsertItem( CMD_SAVE_REMOTE, m_xFrame );
FWK_RESSTR( STR_REMOTE_FILE ) );
pVCLPopupMenu->SetItemCommand( sal_uInt16( 1 ),
CMD_SAVE_REMOTE );
} }
} }
...@@ -155,12 +153,11 @@ void SAL_CALL SaveAsMenuController::itemSelected( const css::awt::MenuEvent& rEv ...@@ -155,12 +153,11 @@ void SAL_CALL SaveAsMenuController::itemSelected( const css::awt::MenuEvent& rEv
OSL_TRACE( "SaveAsMenuController::itemSelected() - Command : %s", OSL_TRACE( "SaveAsMenuController::itemSelected() - Command : %s",
OUStringToOString( aCommand, RTL_TEXTENCODING_UTF8 ).getStr() ); OUStringToOString( aCommand, RTL_TEXTENCODING_UTF8 ).getStr() );
if ( aCommand == CMD_SAVE_REMOTE )
{
Sequence< PropertyValue > aArgsList( 0 ); Sequence< PropertyValue > aArgsList( 0 );
if ( aCommand == CMD_SAVE_REMOTE )
dispatchCommand( CMD_SAVE_REMOTE, aArgsList ); dispatchCommand( CMD_SAVE_REMOTE, aArgsList );
} else if ( aCommand == CMD_SAVEAS )
dispatchCommand( CMD_SAVEAS, aArgsList );
} }
} }
......
...@@ -252,6 +252,11 @@ public: ...@@ -252,6 +252,11 @@ public:
const OString &rIdent = OString(), const OString &rIdent = OString(),
sal_uInt16 nPos = MENU_APPEND); sal_uInt16 nPos = MENU_APPEND);
void InsertItem(const ResId& rResId, sal_uInt16 nPos = MENU_APPEND ); void InsertItem(const ResId& rResId, sal_uInt16 nPos = MENU_APPEND );
void InsertItem(const OUString& rCommand,
const css::uno::Reference<css::frame::XFrame>& rFrame,
MenuItemBits nBits = MenuItemBits::NONE,
const OString &rIdent = OString(),
sal_uInt16 nPos = MENU_APPEND);
void InsertSeparator(const OString &rIdent = OString(), sal_uInt16 nPos = MENU_APPEND); void InsertSeparator(const OString &rIdent = OString(), sal_uInt16 nPos = MENU_APPEND);
void RemoveItem( sal_uInt16 nPos ); void RemoveItem( sal_uInt16 nPos );
void CopyItem(const Menu& rMenu, sal_uInt16 nPos, sal_uInt16 nNewPos = MENU_APPEND ); void CopyItem(const Menu& rMenu, sal_uInt16 nPos, sal_uInt16 nNewPos = MENU_APPEND );
......
...@@ -2032,6 +2032,9 @@ ...@@ -2032,6 +2032,9 @@
<prop oor:name="Label" oor:type="xs:string"> <prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Save to Remote Ser~ver</value> <value xml:lang="en-US">Save to Remote Ser~ver</value>
</prop> </prop>
<prop oor:name="PopupLabel" oor:type="xs:string">
<value xml:lang="en-US">Save Remote File...</value>
</prop>
<prop oor:name="Properties" oor:type="xs:int"> <prop oor:name="Properties" oor:type="xs:int">
<value>1</value> <value>1</value>
</prop> </prop>
......
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
#include <vcl/toolbox.hxx> #include <vcl/toolbox.hxx>
#include <vcl/dockingarea.hxx> #include <vcl/dockingarea.hxx>
#include <vcl/settings.hxx> #include <vcl/settings.hxx>
#include <vcl/commandinfoprovider.hxx>
#include <salinst.hxx> #include <salinst.hxx>
#include <svdata.hxx> #include <svdata.hxx>
...@@ -525,6 +526,23 @@ void Menu::InsertItem( const ResId& rResId, sal_uInt16 nPos ) ...@@ -525,6 +526,23 @@ void Menu::InsertItem( const ResId& rResId, sal_uInt16 nPos )
delete mpLayoutData, mpLayoutData = nullptr; delete mpLayoutData, mpLayoutData = nullptr;
} }
void Menu::InsertItem(const OUString& rCommand, const uno::Reference<frame::XFrame>& rFrame,
MenuItemBits nBits, const OString &rIdent, sal_uInt16 nPos)
{
OUString aLabel(CommandInfoProvider::Instance().GetPopupLabelForCommand(rCommand, rFrame));
OUString aTooltip(CommandInfoProvider::Instance().GetTooltipForCommand(rCommand, rFrame));
Image aImage(CommandInfoProvider::Instance().GetImageForCommand(rCommand, /*bLarge=*/ false, rFrame));
// let's invent an ItemId
const sal_uInt16 COMMAND_ITEMID_START = 30000;
sal_uInt16 nItemId = COMMAND_ITEMID_START + GetItemCount();
InsertItem(nItemId, aLabel, aImage, nBits, rIdent, nPos);
SetItemCommand(nItemId, rCommand);
SetHelpText(nItemId, aTooltip);
}
void Menu::InsertSeparator(const OString &rIdent, sal_uInt16 nPos) void Menu::InsertSeparator(const OString &rIdent, sal_uInt16 nPos)
{ {
// do nothing if it's a menu bar // do nothing if it's a menu bar
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment