Arrange correctly the elements in statusbar on some cases.

Add the option "Open URL" in the context menu when right clickin a URL.
This commit is contained in:
Martín Lucas Golini
2025-10-03 00:05:28 -03:00
parent 04c846b569
commit 15f9bc3fd8
8 changed files with 66 additions and 39 deletions

View File

@@ -87,6 +87,9 @@ GitPlugin::~GitPlugin() {
if ( getUISceneNode() )
getUISceneNode()->removeActionsByTag( GIT_STATUS_UPDATE_TAG );
if ( mStatusBar && mRepositionCbId )
mStatusBar->removeEventListener( mRepositionCbId );
{
Lock l( mGitBranchMutex );
}
@@ -352,13 +355,22 @@ void GitPlugin::updateStatusBarSync() {
mPanelSwicher->getListBox()->setSelected( 1 );
} );
if ( mStatusBar->getNextNode() == nullptr ||
mStatusBar->getNextNode()->getId() != "doc_info" ) {
auto docInfo = mStatusBar->find( "doc_info" );
if ( docInfo != nullptr && docInfo->getParent() == mStatusButton->getParent() ) {
mStatusButton->toPosition( docInfo->getNodeIndex() );
const auto reposition = [this] {
if ( mStatusBar == nullptr )
return;
if ( mStatusButton->getNextNode() == nullptr ||
mStatusButton->getNextNode()->getId() != "doc_info" ) {
auto docInfo = mStatusBar->find( "doc_info" );
if ( docInfo != nullptr && docInfo->getParent() == mStatusButton->getParent() ) {
mStatusButton->toPosition( docInfo->getNodeIndex() );
}
}
}
};
reposition();
mRepositionCbId =
mStatusBar->on( Event::OnChildCountChanged, [reposition]( auto ) { reposition(); } );
}
mStatusButton->setVisible( !mGit->getGitFolder().empty() );