1
0
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:
Martin Prikryl
2018-03-12 14:16:10 +00:00
parent cdcd01b4b4
commit b6a612c614
9 changed files with 192 additions and 151 deletions

View File

@@ -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;
}
//---------------------------------------------------------------------------

View File

@@ -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();

View File

@@ -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;
}
}

View File

@@ -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

View File

@@ -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 };

View File

@@ -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;

View File

@@ -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

View File

@@ -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;

View File

@@ -17,6 +17,7 @@ inherited ScpExplorerForm: TScpExplorerForm
inherited TopDock: TTBXDock
Width = 632
Height = 209
OnContextPopup = DockContextPopup
object MenuToolbar: TTBXToolbar
Left = 0
Top = 0