mirror of
https://github.com/winscp/winscp.git
synced 2026-10-24 02:28:55 +03:00
Bug 582: Toolbar buttons can be hidden (reimplemented using explicit "Customize Toolbar" submenu)
https://winscp.net/tracker/582 Source commit: 16b82bd015262798e8b627b909334221e5f277c9
This commit is contained in:
@@ -9387,3 +9387,20 @@ void __fastcall TCustomScpExplorerForm::ChangeScale(int M, int D)
|
||||
GUIConfiguration->ChangeResourceModule(ResourceModule);
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
void __fastcall TCustomScpExplorerForm::DockContextPopup(TObject * Sender, TPoint & MousePos, bool & /*Handled*/)
|
||||
{
|
||||
NonVisualDataModule->ControlContextPopup(Sender, MousePos);
|
||||
}
|
||||
//---------------------------------------------------------------------
|
||||
class TPublicControl : public TControl
|
||||
{
|
||||
friend class TCustomScpExplorerForm;
|
||||
};
|
||||
//---------------------------------------------------------------------------
|
||||
void __fastcall TCustomScpExplorerForm::CopyPopup(TControl * DestControl, TControl * SourceControl)
|
||||
{
|
||||
static_cast<TPublicControl *>(DestControl)->PopupMenu = static_cast<TPublicControl *>(SourceControl)->PopupMenu;
|
||||
static_cast<TPublicControl *>(DestControl)->OnContextPopup = static_cast<TPublicControl *>(SourceControl)->OnContextPopup;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
@@ -186,6 +186,7 @@ __published:
|
||||
void __fastcall EditMenuItemPopup(TTBCustomItem *Sender, bool FromLink);
|
||||
void __fastcall DirViewBusy(TObject *Sender, int Busy, bool & Allow);
|
||||
void __fastcall SessionsPageControlContextPopup(TObject *Sender, TPoint &MousePos, bool &Handled);
|
||||
void __fastcall DockContextPopup(TObject *Sender, TPoint &MousePos, bool &Handled);
|
||||
|
||||
private:
|
||||
TTerminal * FTerminal;
|
||||
@@ -341,6 +342,7 @@ protected:
|
||||
bool __fastcall RemoteTransferFiles(TStrings * FileList, bool NoConfirmation,
|
||||
bool Move, TTerminal * Session);
|
||||
virtual void __fastcall DoDirViewExecFile(TObject * Sender, TListItem * Item, bool & AllowExec);
|
||||
virtual TControl * __fastcall GetComponent(Byte Component);
|
||||
bool __fastcall GetComponentVisible(Byte Component);
|
||||
virtual Boolean __fastcall GetHasDirView(TOperationSide Side);
|
||||
DYNAMIC void __fastcall KeyDown(Word & Key, Classes::TShiftState Shift);
|
||||
@@ -590,6 +592,7 @@ protected:
|
||||
DYNAMIC void __fastcall ChangeScale(int M, int D);
|
||||
virtual void __fastcall UpdateImages();
|
||||
void __fastcall UpdatePixelsPerInchMainWindowCounter();
|
||||
void __fastcall CopyPopup(TControl * DestControl, TControl * SourceControl);
|
||||
|
||||
public:
|
||||
virtual __fastcall ~TCustomScpExplorerForm();
|
||||
@@ -619,7 +622,6 @@ public:
|
||||
void __fastcall UnlockWindow();
|
||||
void __fastcall SuspendWindowLock();
|
||||
void __fastcall ResumeWindowLock();
|
||||
virtual TControl * __fastcall GetComponent(Byte Component);
|
||||
|
||||
void __fastcall NewSession(bool FromSite, const UnicodeString & SessionUrl = L"");
|
||||
void __fastcall DuplicateSession();
|
||||
|
||||
@@ -114,6 +114,7 @@ __fastcall TNonVisualDataModule::TNonVisualDataModule(TComponent* Owner)
|
||||
{
|
||||
FListColumn = NULL;
|
||||
FSessionIdleTimerExecuting = false;
|
||||
FCustomizedToolbar = NULL;
|
||||
FBusy = 0;
|
||||
|
||||
QueueSpeedComboBoxItem(QueuePopupSpeedComboBoxItem);
|
||||
@@ -338,6 +339,7 @@ void __fastcall TNonVisualDataModule::ExplorerActionsUpdate(
|
||||
UPDCOMP(CustomCommandsBand)
|
||||
UPD(ColorMenuAction, HasTerminal)
|
||||
UPD(GoToAddressAction, true)
|
||||
UPD(CustomizeToolbarAction, IsToolbarCustomizable())
|
||||
|
||||
// SORT
|
||||
UPDSORTA(Local)
|
||||
@@ -649,6 +651,7 @@ void __fastcall TNonVisualDataModule::ExplorerActionsExecute(
|
||||
EXECOMP(CustomCommandsBand)
|
||||
EXE(ColorMenuAction, CreateSessionColorMenu(ColorMenuAction))
|
||||
EXE(GoToAddressAction, ScpExplorer->GoToAddress())
|
||||
EXE(CustomizeToolbarAction, CreateToolbarButtonsList())
|
||||
|
||||
#define COLVIEWPROPS ((TCustomDirViewColProperties*)(((TCustomDirView*)(((TListColumns*)(ListColumn->Collection))->Owner()))->ColProperties))
|
||||
// SORT
|
||||
@@ -1811,43 +1814,75 @@ void __fastcall TNonVisualDataModule::ToolbarButtonItemClick(TObject * Sender)
|
||||
ButtonItem->Visible = !ButtonItem->Visible;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
void __fastcall TNonVisualDataModule::ToolbarComponentPopup(TTBCustomItem * Sender, bool /*FromLink*/)
|
||||
bool __fastcall TNonVisualDataModule::IsCustomizableToolbarItem(TTBCustomItem * Item)
|
||||
{
|
||||
Byte Component = 0;
|
||||
#define EMIT_BAND_COMPONENT(COMP) if (Sender->Action == COMP ## Action) { Component = fc ## COMP; }
|
||||
BAND_COMPONENTS
|
||||
#undef EMIT_BAND_COMPONENT
|
||||
|
||||
if (DebugAlwaysTrue(Component != 0))
|
||||
return
|
||||
(dynamic_cast<TTBXItem *>(Item) != NULL) ||
|
||||
(dynamic_cast<TTBXSubmenuItem *>(Item) != NULL);
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
bool __fastcall TNonVisualDataModule::IsToolbarCustomizable()
|
||||
{
|
||||
bool Result = false;
|
||||
if (FCustomizedToolbar != NULL)
|
||||
{
|
||||
TTBCustomToolbar * Toolbar = dynamic_cast<TTBCustomToolbar *>(ScpExplorer->GetComponent(Component));
|
||||
if (DebugAlwaysTrue(Toolbar != NULL))
|
||||
for (int Index = 0; Index < FCustomizedToolbar->Items->Count; Index++)
|
||||
{
|
||||
Sender->Clear();
|
||||
|
||||
for (int Index = 0; Index < Toolbar->Items->Count; Index++)
|
||||
if (IsCustomizableToolbarItem(FCustomizedToolbar->Items->Items[Index]))
|
||||
{
|
||||
TTBCustomItem * ButtonItem = Toolbar->Items->Items[Index];
|
||||
Result = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return Result;
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
void __fastcall TNonVisualDataModule::CreateToolbarButtonsList()
|
||||
{
|
||||
if (FCustomizedToolbar != NULL)
|
||||
{
|
||||
TTBCustomItem * CustomizeItem = DebugNotNull(dynamic_cast<TTBCustomItem *>(CustomizeToolbarAction->ActionComponent));
|
||||
CustomizeItem->Clear();
|
||||
|
||||
TTBCustomItem * Item;
|
||||
if (dynamic_cast<TTBSeparatorItem *>(ButtonItem) != NULL)
|
||||
{
|
||||
Item = new TTBSeparatorItem(Sender);
|
||||
}
|
||||
else
|
||||
{
|
||||
Item = new TTBXItem(Sender);
|
||||
Item->Caption = StripEllipsis(ButtonItem->Caption);
|
||||
Item->ImageIndex = ButtonItem->ImageIndex;
|
||||
Item->Tag = reinterpret_cast<int>(ButtonItem);
|
||||
Item->OnClick = ToolbarButtonItemClick;
|
||||
Item->Checked = ButtonItem->Visible;
|
||||
Item->Enabled = Toolbar->Visible;
|
||||
}
|
||||
for (int Index = 0; Index < FCustomizedToolbar->Items->Count; Index++)
|
||||
{
|
||||
TTBCustomItem * ButtonItem = FCustomizedToolbar->Items->Items[Index];
|
||||
|
||||
Sender->Insert(Sender->Count, Item);
|
||||
TTBCustomItem * Item = NULL;
|
||||
if (dynamic_cast<TTBSeparatorItem *>(ButtonItem) != NULL)
|
||||
{
|
||||
Item = new TTBSeparatorItem(CustomizeItem);
|
||||
}
|
||||
else if (IsCustomizableToolbarItem(ButtonItem))
|
||||
{
|
||||
Item = new TTBXItem(CustomizeItem);
|
||||
Item->Caption = StripEllipsis(ButtonItem->Caption);
|
||||
Item->ImageIndex = ButtonItem->ImageIndex;
|
||||
Item->Tag = reinterpret_cast<int>(ButtonItem);
|
||||
Item->OnClick = ToolbarButtonItemClick;
|
||||
Item->Checked = ButtonItem->Visible;
|
||||
}
|
||||
|
||||
if (Item != NULL)
|
||||
{
|
||||
CustomizeItem->Insert(CustomizeItem->Count, Item);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------------------
|
||||
void __fastcall TNonVisualDataModule::ControlContextPopup(TObject * Sender, const TPoint & MousePos)
|
||||
{
|
||||
TTBDock * Dock = dynamic_cast<TTBDock *>(Sender);
|
||||
if (Dock != NULL)
|
||||
{
|
||||
// While we can identify toolbar for which context menu is popping up in OnExecute,
|
||||
// we cannot in OnUpdate, so we have to remeber it here.
|
||||
FCustomizedToolbar = dynamic_cast<TTBCustomToolbar *>(Dock->ControlAtPos(MousePos, true, true, false));
|
||||
}
|
||||
else
|
||||
{
|
||||
FCustomizedToolbar = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,6 +45,9 @@ object NonVisualDataModule: TNonVisualDataModule
|
||||
object Rename1: TTBXItem
|
||||
Action = CurrentRenameAction
|
||||
end
|
||||
object TBXSubmenuItem8: TTBXSubmenuItem
|
||||
Action = CustomizeToolbarAction
|
||||
end
|
||||
object N45: TTBXSeparatorItem
|
||||
end
|
||||
object RemoteFilePopupCustomCommandsMenu: TTBXSubmenuItem
|
||||
@@ -2224,6 +2227,13 @@ object NonVisualDataModule: TNonVisualDataModule
|
||||
Hint = 'Create file|Create new file and open it in editor'
|
||||
ImageIndex = 77
|
||||
end
|
||||
object CustomizeToolbarAction: TAction
|
||||
Tag = 15
|
||||
Category = 'View'
|
||||
Caption = '&Customize Toolbar'
|
||||
HelpKeyword = 'ui_toolbars'
|
||||
Hint = 'Show/hide toolbar buttons'
|
||||
end
|
||||
end
|
||||
object ExplorerBarPopup: TTBXPopupMenu
|
||||
Images = GlyphsModule.ExplorerImages
|
||||
@@ -2233,30 +2243,20 @@ object NonVisualDataModule: TNonVisualDataModule
|
||||
object Address2: TTBXItem
|
||||
Action = ExplorerAddressBandAction
|
||||
end
|
||||
object StandardButtons1: TTBXSubmenuItem
|
||||
object StandardButtons1: TTBXItem
|
||||
Action = ExplorerToolbarBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object SelectionButtons1: TTBXSubmenuItem
|
||||
object SelectionButtons1: TTBXItem
|
||||
Action = ExplorerSelectionBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object SessionButtons2: TTBXSubmenuItem
|
||||
object SessionButtons2: TTBXItem
|
||||
Action = ExplorerSessionBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object PreferencesButtons1: TTBXSubmenuItem
|
||||
object PreferencesButtons1: TTBXItem
|
||||
Action = ExplorerPreferencesBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object SortButtons3: TTBXSubmenuItem
|
||||
object SortButtons3: TTBXItem
|
||||
Action = ExplorerSortBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object TBXItem3: TTBXItem
|
||||
Action = ExplorerUpdatesBandAction
|
||||
@@ -2273,6 +2273,9 @@ object NonVisualDataModule: TNonVisualDataModule
|
||||
object TBXItem48: TTBXItem
|
||||
Action = SelectiveToolbarTextAction
|
||||
end
|
||||
object TBXSubmenuItem4: TTBXSubmenuItem
|
||||
Action = CustomizeToolbarAction
|
||||
end
|
||||
object N5: TTBXSeparatorItem
|
||||
end
|
||||
object SessionsTabsAction2: TTBXItem
|
||||
@@ -2326,25 +2329,17 @@ object NonVisualDataModule: TNonVisualDataModule
|
||||
Options = [tboShowHint]
|
||||
Left = 424
|
||||
Top = 264
|
||||
object CommandsButtons2: TTBXSubmenuItem
|
||||
object CommandsButtons2: TTBXItem
|
||||
Action = CommanderCommandsBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object SessionButtons5: TTBXSubmenuItem
|
||||
object SessionButtons5: TTBXItem
|
||||
Action = CommanderSessionBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object PreferencesButtons4: TTBXSubmenuItem
|
||||
object PreferencesButtons4: TTBXItem
|
||||
Action = CommanderPreferencesBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object SortButtons2: TTBXSubmenuItem
|
||||
object SortButtons2: TTBXItem
|
||||
Action = CommanderSortBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object TBXItem2: TTBXItem
|
||||
Action = CommanderUpdatesBandAction
|
||||
@@ -2361,6 +2356,9 @@ object NonVisualDataModule: TNonVisualDataModule
|
||||
object TBXItem46: TTBXItem
|
||||
Action = SelectiveToolbarTextAction
|
||||
end
|
||||
object TBXItem77: TTBXSubmenuItem
|
||||
Action = CustomizeToolbarAction
|
||||
end
|
||||
object N26: TTBXSeparatorItem
|
||||
end
|
||||
object SessionsTabsAction1: TTBXItem
|
||||
@@ -2381,25 +2379,17 @@ object NonVisualDataModule: TNonVisualDataModule
|
||||
Caption = '&Local Panel'
|
||||
HelpKeyword = 'ui_file_panel'
|
||||
Hint = 'Change local panel layout'
|
||||
object HistoryButtons3: TTBXSubmenuItem
|
||||
object HistoryButtons3: TTBXItem
|
||||
Action = CommanderLocalHistoryBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object NavigationButtons3: TTBXSubmenuItem
|
||||
object NavigationButtons3: TTBXItem
|
||||
Action = CommanderLocalNavigationBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object TBXItem40: TTBXSubmenuItem
|
||||
object TBXItem40: TTBXItem
|
||||
Action = CommanderLocalFileBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object TBXItem43: TTBXSubmenuItem
|
||||
object TBXItem43: TTBXItem
|
||||
Action = CommanderLocalSelectionBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object N23: TTBXSeparatorItem
|
||||
end
|
||||
@@ -2416,25 +2406,17 @@ object NonVisualDataModule: TNonVisualDataModule
|
||||
Caption = '&Remote Panel'
|
||||
HelpKeyword = 'ui_file_panel'
|
||||
Hint = 'Change remote panel layout'
|
||||
object HistoryButtons4: TTBXSubmenuItem
|
||||
object HistoryButtons4: TTBXItem
|
||||
Action = CommanderRemoteHistoryBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object NavigationButtons4: TTBXSubmenuItem
|
||||
object NavigationButtons4: TTBXItem
|
||||
Action = CommanderRemoteNavigationBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object TBXItem41: TTBXSubmenuItem
|
||||
object TBXItem41: TTBXItem
|
||||
Action = CommanderRemoteFileBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object TBXItem42: TTBXSubmenuItem
|
||||
object TBXItem42: TTBXItem
|
||||
Action = CommanderRemoteSelectionBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object N25: TTBXSeparatorItem
|
||||
end
|
||||
@@ -2497,25 +2479,17 @@ object NonVisualDataModule: TNonVisualDataModule
|
||||
end
|
||||
object N51: TTBXSeparatorItem
|
||||
end
|
||||
object HistoryButtons5: TTBXSubmenuItem
|
||||
object HistoryButtons5: TTBXItem
|
||||
Action = CommanderRemoteHistoryBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object NavigationButtons5: TTBXSubmenuItem
|
||||
object NavigationButtons5: TTBXItem
|
||||
Action = CommanderRemoteNavigationBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object TBXItem14: TTBXSubmenuItem
|
||||
object TBXItem14: TTBXItem
|
||||
Action = CommanderRemoteFileBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object TBXItem45: TTBXSubmenuItem
|
||||
object TBXItem45: TTBXItem
|
||||
Action = CommanderRemoteSelectionBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object TBXItem37: TTBXItem
|
||||
Action = LockToolbarsAction
|
||||
@@ -2523,6 +2497,9 @@ object NonVisualDataModule: TNonVisualDataModule
|
||||
object TBXItem49: TTBXItem
|
||||
Action = SelectiveToolbarTextAction
|
||||
end
|
||||
object TBXSubmenuItem9: TTBXSubmenuItem
|
||||
Action = CustomizeToolbarAction
|
||||
end
|
||||
object N28: TTBXSeparatorItem
|
||||
end
|
||||
object Tree5: TTBXItem
|
||||
@@ -2556,25 +2533,17 @@ object NonVisualDataModule: TNonVisualDataModule
|
||||
end
|
||||
object N52: TTBXSeparatorItem
|
||||
end
|
||||
object HistoryButtons6: TTBXSubmenuItem
|
||||
object HistoryButtons6: TTBXItem
|
||||
Action = CommanderLocalHistoryBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object NavigationButtons6: TTBXSubmenuItem
|
||||
object NavigationButtons6: TTBXItem
|
||||
Action = CommanderLocalNavigationBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object TBXItem39: TTBXSubmenuItem
|
||||
object TBXItem39: TTBXItem
|
||||
Action = CommanderLocalFileBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object TBXItem44: TTBXSubmenuItem
|
||||
object TBXItem44: TTBXItem
|
||||
Action = CommanderLocalSelectionBandAction
|
||||
DropdownCombo = True
|
||||
OnPopup = ToolbarComponentPopup
|
||||
end
|
||||
object TBXItem38: TTBXItem
|
||||
Action = LockToolbarsAction
|
||||
@@ -2582,6 +2551,9 @@ object NonVisualDataModule: TNonVisualDataModule
|
||||
object TBXItem47: TTBXItem
|
||||
Action = SelectiveToolbarTextAction
|
||||
end
|
||||
object TBXSubmenuItem6: TTBXSubmenuItem
|
||||
Action = CustomizeToolbarAction
|
||||
end
|
||||
object N29: TTBXSeparatorItem
|
||||
end
|
||||
object Tree6: TTBXItem
|
||||
|
||||
@@ -235,25 +235,25 @@ __published: // IDE-managed Components
|
||||
TAction *FileGenerateUrlAction2;
|
||||
TAction *TableOfContentsAction;
|
||||
TTBXPopupMenu *CommanderBarPopup;
|
||||
TTBXSubmenuItem *SessionButtons5;
|
||||
TTBXSubmenuItem *PreferencesButtons4;
|
||||
TTBXSubmenuItem *SortButtons2;
|
||||
TTBXSubmenuItem *CommandsButtons2;
|
||||
TTBXItem *SessionButtons5;
|
||||
TTBXItem *PreferencesButtons4;
|
||||
TTBXItem *SortButtons2;
|
||||
TTBXItem *CommandsButtons2;
|
||||
TTBXSeparatorItem *N26;
|
||||
TTBXItem *CommandLine2;
|
||||
TTBXItem *CommandsToolbar1;
|
||||
TTBXItem *StatusBar8;
|
||||
TTBXSeparatorItem *N27;
|
||||
TTBXSubmenuItem *LocalPanel1;
|
||||
TTBXSubmenuItem *HistoryButtons3;
|
||||
TTBXSubmenuItem *NavigationButtons3;
|
||||
TTBXItem *HistoryButtons3;
|
||||
TTBXItem *NavigationButtons3;
|
||||
TTBXSeparatorItem *N23;
|
||||
TTBXItem *Tree7;
|
||||
TTBXSeparatorItem *N77;
|
||||
TTBXItem *StatusBar6;
|
||||
TTBXSubmenuItem *RemotePanel2;
|
||||
TTBXSubmenuItem *HistoryButtons4;
|
||||
TTBXSubmenuItem *NavigationButtons4;
|
||||
TTBXItem *HistoryButtons4;
|
||||
TTBXItem *NavigationButtons4;
|
||||
TTBXSeparatorItem *N25;
|
||||
TTBXItem *Tree8;
|
||||
TTBXSeparatorItem *N78;
|
||||
@@ -270,8 +270,8 @@ __published: // IDE-managed Components
|
||||
TTBXItem *CopyPathtoClipboard1;
|
||||
TTBXItem *OpenDirectoryBookmark1;
|
||||
TTBXSeparatorItem *N51;
|
||||
TTBXSubmenuItem *HistoryButtons5;
|
||||
TTBXSubmenuItem *NavigationButtons5;
|
||||
TTBXItem *HistoryButtons5;
|
||||
TTBXItem *NavigationButtons5;
|
||||
TTBXSeparatorItem *N28;
|
||||
TTBXItem *Tree5;
|
||||
TTBXSeparatorItem *N75;
|
||||
@@ -280,8 +280,8 @@ __published: // IDE-managed Components
|
||||
TTBXItem *CopyPathtoClipboard2;
|
||||
TTBXItem *OpenDirectoryBookmark2;
|
||||
TTBXSeparatorItem *N52;
|
||||
TTBXSubmenuItem *HistoryButtons6;
|
||||
TTBXSubmenuItem *NavigationButtons6;
|
||||
TTBXItem *HistoryButtons6;
|
||||
TTBXItem *NavigationButtons6;
|
||||
TTBXSeparatorItem *N29;
|
||||
TTBXItem *Tree6;
|
||||
TTBXSeparatorItem *N76;
|
||||
@@ -379,11 +379,11 @@ __published: // IDE-managed Components
|
||||
TTBXItem *Customize3;
|
||||
TTBXPopupMenu *ExplorerBarPopup;
|
||||
TTBXItem *Address2;
|
||||
TTBXSubmenuItem *StandardButtons1;
|
||||
TTBXSubmenuItem *SelectionButtons1;
|
||||
TTBXSubmenuItem *SessionButtons2;
|
||||
TTBXSubmenuItem *PreferencesButtons1;
|
||||
TTBXSubmenuItem *SortButtons3;
|
||||
TTBXItem *StandardButtons1;
|
||||
TTBXItem *SelectionButtons1;
|
||||
TTBXItem *SessionButtons2;
|
||||
TTBXItem *PreferencesButtons1;
|
||||
TTBXItem *SortButtons3;
|
||||
TTBXSeparatorItem *N5;
|
||||
TTBXItem *StatusBar2;
|
||||
TTBXSeparatorItem *N72;
|
||||
@@ -514,10 +514,10 @@ __published: // IDE-managed Components
|
||||
TAction *RemoteAddEditLinkAction2;
|
||||
TAction *CommanderLocalFileBandAction;
|
||||
TAction *CommanderRemoteFileBandAction;
|
||||
TTBXSubmenuItem *TBXItem14;
|
||||
TTBXSubmenuItem *TBXItem39;
|
||||
TTBXSubmenuItem *TBXItem40;
|
||||
TTBXSubmenuItem *TBXItem41;
|
||||
TTBXItem *TBXItem14;
|
||||
TTBXItem *TBXItem39;
|
||||
TTBXItem *TBXItem40;
|
||||
TTBXItem *TBXItem41;
|
||||
TAction *RemoteCopyFocusedAction;
|
||||
TAction *RemoteMoveFocusedAction;
|
||||
TAction *LocalSelectAction;
|
||||
@@ -528,10 +528,10 @@ __published: // IDE-managed Components
|
||||
TAction *RemoteSelectAllAction;
|
||||
TAction *CommanderLocalSelectionBandAction;
|
||||
TAction *CommanderRemoteSelectionBandAction;
|
||||
TTBXSubmenuItem *TBXItem42;
|
||||
TTBXSubmenuItem *TBXItem43;
|
||||
TTBXSubmenuItem *TBXItem44;
|
||||
TTBXSubmenuItem *TBXItem45;
|
||||
TTBXItem *TBXItem42;
|
||||
TTBXItem *TBXItem43;
|
||||
TTBXItem *TBXItem44;
|
||||
TTBXItem *TBXItem45;
|
||||
TAction *SelectiveToolbarTextAction;
|
||||
TTBXItem *TBXItem46;
|
||||
TTBXItem *TBXItem47;
|
||||
@@ -610,6 +610,12 @@ __published: // IDE-managed Components
|
||||
TAction *ChangePasswordAction;
|
||||
TAction *RemoteNewFileAction;
|
||||
TAction *LocalNewFileAction;
|
||||
TTBXSubmenuItem *TBXItem77;
|
||||
TAction *CustomizeToolbarAction;
|
||||
TTBXSubmenuItem *TBXSubmenuItem4;
|
||||
TTBXSubmenuItem *TBXSubmenuItem6;
|
||||
TTBXSubmenuItem *TBXSubmenuItem8;
|
||||
TTBXSubmenuItem *TBXSubmenuItem9;
|
||||
void __fastcall ExplorerActionsUpdate(TBasicAction *Action, bool &Handled);
|
||||
void __fastcall ExplorerActionsExecute(TBasicAction *Action, bool &Handled);
|
||||
void __fastcall SessionIdleTimerTimer(TObject *Sender);
|
||||
@@ -623,13 +629,13 @@ __published: // IDE-managed Components
|
||||
const UnicodeString AText, int AIndex, int &ImageIndex);
|
||||
UnicodeString __fastcall CustomCommandCaption(const TCustomCommandType * Command, bool Toolbar);
|
||||
UnicodeString __fastcall CustomCommandHint(const TCustomCommandType * Command);
|
||||
void __fastcall ToolbarComponentPopup(TTBCustomItem *Sender, bool FromLink);
|
||||
|
||||
private:
|
||||
TListColumn * FListColumn;
|
||||
TCustomScpExplorerForm * FScpExplorer;
|
||||
bool FSessionIdleTimerExecuting;
|
||||
int FBusy;
|
||||
TTBCustomToolbar * FCustomizedToolbar;
|
||||
|
||||
void __fastcall SetScpExplorer(TCustomScpExplorerForm * value);
|
||||
bool __fastcall GetBusy();
|
||||
@@ -637,6 +643,9 @@ private:
|
||||
protected:
|
||||
void __fastcall CreateSessionListMenu(TAction * Action);
|
||||
void __fastcall CreateSessionListMenuLevel(TTBCustomItem * Menu, int Index, int Level);
|
||||
void __fastcall CreateToolbarButtonsList();
|
||||
bool __fastcall IsCustomizableToolbarItem(TTBCustomItem * Item);
|
||||
bool __fastcall IsToolbarCustomizable();
|
||||
UnicodeString __fastcall GetSessionFolderRoot(TSessionData * Data, int Level);
|
||||
void __fastcall CreateWorkspacesMenu(TAction * Action);
|
||||
void __fastcall WorkspaceItemClick(TObject * Sender);
|
||||
@@ -689,6 +698,7 @@ public:
|
||||
void __fastcall ResetQueueOnceEmptyOperation();
|
||||
void __fastcall StartBusy();
|
||||
void __fastcall EndBusy();
|
||||
void __fastcall ControlContextPopup(TObject * Sender, const TPoint & MousePos);
|
||||
|
||||
__property TListColumn * ListColumn = { read = FListColumn, write = FListColumn };
|
||||
__property TCustomScpExplorerForm * ScpExplorer = { read = FScpExplorer, write = SetScpExplorer };
|
||||
|
||||
@@ -86,23 +86,23 @@ __fastcall TScpCommanderForm::TScpCommanderForm(TComponent* Owner)
|
||||
RemoteForwardButton->LinkSubitems = HistoryMenu(osRemote, false)->Items;
|
||||
|
||||
TopDock->PopupMenu = NonVisualDataModule->CommanderBarPopup;
|
||||
StatusBar->PopupMenu = TopDock->PopupMenu;
|
||||
QueueDock->PopupMenu = TopDock->PopupMenu;
|
||||
QueueLabel->PopupMenu = TopDock->PopupMenu;
|
||||
BottomDock->PopupMenu = TopDock->PopupMenu;
|
||||
QueueSeparatorPanel->PopupMenu = TopDock->PopupMenu;
|
||||
CopyPopup(StatusBar, TopDock);
|
||||
CopyPopup(QueueDock, TopDock);
|
||||
CopyPopup(QueueLabel, TopDock);
|
||||
CopyPopup(BottomDock, TopDock);
|
||||
CopyPopup(QueueSeparatorPanel, TopDock);
|
||||
|
||||
LocalTopDock->PopupMenu = NonVisualDataModule->LocalPanelPopup;
|
||||
LocalPathLabel->PopupMenu = LocalTopDock->PopupMenu;
|
||||
LocalStatusBar->PopupMenu = LocalTopDock->PopupMenu;
|
||||
LocalDriveView->PopupMenu = LocalTopDock->PopupMenu;
|
||||
LocalBottomDock->PopupMenu = LocalTopDock->PopupMenu;
|
||||
CopyPopup(LocalPathLabel, LocalTopDock);
|
||||
CopyPopup(LocalStatusBar, LocalTopDock);
|
||||
CopyPopup(LocalDriveView, LocalTopDock);
|
||||
CopyPopup(LocalBottomDock, LocalTopDock);
|
||||
|
||||
RemoteTopDock->PopupMenu = NonVisualDataModule->RemotePanelPopup;
|
||||
RemotePathLabel->PopupMenu = RemoteTopDock->PopupMenu;
|
||||
RemoteStatusBar->PopupMenu = RemoteTopDock->PopupMenu;
|
||||
RemoteDriveView->PopupMenu = RemoteTopDock->PopupMenu;
|
||||
RemoteBottomDock->PopupMenu = RemoteTopDock->PopupMenu;
|
||||
CopyPopup(RemotePathLabel, RemoteTopDock);
|
||||
CopyPopup(RemoteStatusBar, RemoteTopDock);
|
||||
CopyPopup(RemoteDriveView, RemoteTopDock);
|
||||
CopyPopup(RemoteBottomDock, RemoteTopDock);
|
||||
|
||||
SetShortcuts();
|
||||
Splitter->ShowHint = True;
|
||||
|
||||
@@ -29,6 +29,7 @@ inherited ScpCommanderForm: TScpCommanderForm
|
||||
inherited TopDock: TTBXDock
|
||||
Width = 898
|
||||
Height = 156
|
||||
OnContextPopup = DockContextPopup
|
||||
object MenuToolbar: TTBXToolbar
|
||||
Left = 0
|
||||
Top = 0
|
||||
@@ -1108,6 +1109,7 @@ inherited ScpCommanderForm: TScpCommanderForm
|
||||
Height = 79
|
||||
Color = clBtnFace
|
||||
FixAlign = True
|
||||
OnContextPopup = DockContextPopup
|
||||
object RemoteHistoryToolbar: TTBXToolbar
|
||||
Left = 0
|
||||
Top = 27
|
||||
@@ -1445,6 +1447,7 @@ inherited ScpCommanderForm: TScpCommanderForm
|
||||
Height = 79
|
||||
Color = clBtnFace
|
||||
FixAlign = True
|
||||
OnContextPopup = DockContextPopup
|
||||
object LocalHistoryToolbar: TTBXToolbar
|
||||
Left = 0
|
||||
Top = 27
|
||||
@@ -1654,6 +1657,7 @@ inherited ScpCommanderForm: TScpCommanderForm
|
||||
Height = 53
|
||||
FixAlign = True
|
||||
Position = dpBottom
|
||||
OnContextPopup = DockContextPopup
|
||||
object Toolbar2Toolbar: TTBXToolbar
|
||||
Left = 0
|
||||
Top = 27
|
||||
|
||||
@@ -46,13 +46,13 @@ __fastcall TScpExplorerForm::TScpExplorerForm(TComponent* Owner)
|
||||
ForwardButton->LinkSubitems = HistoryMenu(osRemote, false)->Items;
|
||||
|
||||
TopDock->PopupMenu = NonVisualDataModule->ExplorerBarPopup;
|
||||
RemoteStatusBar->PopupMenu = TopDock->PopupMenu;
|
||||
QueueDock->PopupMenu = TopDock->PopupMenu;
|
||||
QueueLabel->PopupMenu = TopDock->PopupMenu;
|
||||
RemoteDriveView->PopupMenu = TopDock->PopupMenu;
|
||||
BottomDock->PopupMenu = TopDock->PopupMenu;
|
||||
LeftDock->PopupMenu = TopDock->PopupMenu;
|
||||
RightDock->PopupMenu = TopDock->PopupMenu;
|
||||
CopyPopup(RemoteStatusBar, TopDock);
|
||||
CopyPopup(QueueDock, TopDock);
|
||||
CopyPopup(QueueLabel, TopDock);
|
||||
CopyPopup(RemoteDriveView, TopDock);
|
||||
CopyPopup(BottomDock, TopDock);
|
||||
CopyPopup(LeftDock, TopDock);
|
||||
CopyPopup(RightDock, TopDock);
|
||||
reinterpret_cast<TLabel*>(RemotePanelSplitter)->OnDblClick = RemotePanelSplitterDblClick;
|
||||
|
||||
QueuePanel->Parent = RemotePanel;
|
||||
|
||||
@@ -17,6 +17,7 @@ inherited ScpExplorerForm: TScpExplorerForm
|
||||
inherited TopDock: TTBXDock
|
||||
Width = 632
|
||||
Height = 209
|
||||
OnContextPopup = DockContextPopup
|
||||
object MenuToolbar: TTBXToolbar
|
||||
Left = 0
|
||||
Top = 0
|
||||
|
||||
Reference in New Issue
Block a user