mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 19:50:05 +02:00
LnLauncher: patch was upstreamed
This commit is contained in:
@@ -1,714 +0,0 @@
|
||||
From b880310bab88ae5078c1d0112da245594a50bf06 Mon Sep 17 00:00:00 2001
|
||||
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
||||
Date: Tue, 10 Nov 2015 13:49:52 +0100
|
||||
Subject: Save settings when they change instead of at app exit.
|
||||
|
||||
* Saving settings at exit does not seem to work properly (we end up with
|
||||
an empty settings file).
|
||||
|
||||
diff --git a/source/PanelWindow.cpp b/source/PanelWindow.cpp
|
||||
index 3ec98c7..d8a22a8 100644
|
||||
--- a/source/PanelWindow.cpp
|
||||
+++ b/source/PanelWindow.cpp
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "PanelWindow.h"
|
||||
|
||||
+#include <Application.h>
|
||||
#include <Message.h>
|
||||
#include <stdio.h>
|
||||
#include <Screen.h>
|
||||
@@ -351,12 +352,14 @@ PanelWindow::MessageReceived( BMessage * msg )
|
||||
SetFeel(B_FLOATING_ALL_WINDOW_FEEL);
|
||||
else
|
||||
SetFeel(B_NORMAL_WINDOW_FEEL);
|
||||
+ be_app->PostMessage('Uset');
|
||||
} break;
|
||||
|
||||
case PANEL_SET_THIN_HANDLE:
|
||||
{
|
||||
msg->FindBool("thin_handle",&m_thin_handle);
|
||||
PositionViews();
|
||||
+ be_app->PostMessage('Uset');
|
||||
} break;
|
||||
|
||||
case PANEL_MOVE_ICON:
|
||||
@@ -406,6 +409,7 @@ PanelWindow::MessageReceived( BMessage * msg )
|
||||
m_icons.InsertAt( icon, new_pos );
|
||||
|
||||
PositionViews();
|
||||
+ be_app->PostMessage('Uset');
|
||||
} break;
|
||||
case PANEL_REMOVE_ICON:
|
||||
{
|
||||
@@ -422,6 +426,7 @@ PanelWindow::MessageReceived( BMessage * msg )
|
||||
m_size--;
|
||||
|
||||
PositionViews();
|
||||
+ be_app->PostMessage('Uset');
|
||||
|
||||
delete icon;
|
||||
}
|
||||
@@ -451,6 +456,7 @@ PanelWindow::MessageReceived( BMessage * msg )
|
||||
m_size = m_icons.NumItems();
|
||||
PositionViews();
|
||||
}
|
||||
+ be_app->PostMessage('Uset');
|
||||
} break;
|
||||
case PANEL_MOVE_TO:
|
||||
{
|
||||
@@ -504,6 +510,7 @@ PanelWindow::MessageReceived( BMessage * msg )
|
||||
PositionViews();
|
||||
|
||||
m_handle->Invalidate();
|
||||
+ be_app->PostMessage('Uset');
|
||||
}
|
||||
} break;
|
||||
case PANEL_TOGGLE_OPEN:
|
||||
@@ -534,6 +541,7 @@ PanelWindow::MessageReceived( BMessage * msg )
|
||||
{
|
||||
msg->FindBool("small_icons",&m_small_icons);
|
||||
PositionViews();
|
||||
+ be_app->PostMessage('Uset');
|
||||
for ( int32 c=0; ChildAt(c); c++ )
|
||||
ChildAt(c)->Invalidate();
|
||||
} break;
|
||||
@@ -544,6 +552,7 @@ PanelWindow::MessageReceived( BMessage * msg )
|
||||
{
|
||||
suspend_thread( m_pulse_thread );
|
||||
}
|
||||
+ be_app->PostMessage('Uset');
|
||||
} break;
|
||||
case PANEL_MOUSE_EXIT:
|
||||
{
|
||||
@@ -564,6 +573,7 @@ PanelWindow::MessageReceived( BMessage * msg )
|
||||
case PANEL_SET_EXPAND_ON_MOUSE_OVER:
|
||||
{
|
||||
msg->FindBool("expand_on_mouse_over",&m_expand_on_mouse_over);
|
||||
+ be_app->PostMessage('Uset');
|
||||
} break;
|
||||
default:
|
||||
BWindow::MessageReceived( msg );
|
||||
diff --git a/source/main.cpp b/source/main.cpp
|
||||
index 38622e3..34f6da5 100644
|
||||
--- a/source/main.cpp
|
||||
+++ b/source/main.cpp
|
||||
@@ -51,7 +51,7 @@ class MyApp : public BApplication
|
||||
return BApplication::Run();
|
||||
};
|
||||
|
||||
- virtual bool QuitRequested()
|
||||
+ void SaveSettings()
|
||||
{
|
||||
SettingsFile settings;
|
||||
BMessage panel;
|
||||
@@ -70,8 +70,6 @@ class MyApp : public BApplication
|
||||
}
|
||||
|
||||
settings.Save();
|
||||
-
|
||||
- return BApplication::QuitRequested();
|
||||
};
|
||||
|
||||
virtual void MessageReceived( BMessage * msg )
|
||||
@@ -97,6 +95,11 @@ class MyApp : public BApplication
|
||||
|
||||
panel->Lock();
|
||||
panel->Quit();
|
||||
+ SaveSettings();
|
||||
+ } break;
|
||||
+ case 'Uset':
|
||||
+ { // update settings
|
||||
+ SaveSettings();
|
||||
} break;
|
||||
default:
|
||||
return BApplication::MessageReceived( msg );
|
||||
--
|
||||
2.2.2
|
||||
|
||||
|
||||
From 76a5c67c5434cbca9bfb69ff45f9f18979f346f3 Mon Sep 17 00:00:00 2001
|
||||
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
||||
Date: Tue, 10 Nov 2015 14:08:30 +0100
|
||||
Subject: Remove rescue, add autostart
|
||||
|
||||
* remove "rescue" menu, as launch daemon takes care of that now
|
||||
* add "autostart" menu to allow LnLauncher to not autostart
|
||||
* only build the menu once instead of each time it is invoked.
|
||||
|
||||
diff --git a/source/HandleView.cpp b/source/HandleView.cpp
|
||||
index 3c46b49..04c58b3 100644
|
||||
--- a/source/HandleView.cpp
|
||||
+++ b/source/HandleView.cpp
|
||||
@@ -45,9 +45,6 @@ static const char* kPanelRemove = B_TRANSLATE_MARK("Remove This");
|
||||
static const char* kReplicants = B_TRANSLATE_MARK("Replicants");
|
||||
static const char* kRepShow = B_TRANSLATE_MARK("Show");
|
||||
static const char* kRepHide = B_TRANSLATE_MARK("Hide");
|
||||
-static const char* kRescue = B_TRANSLATE_MARK("Rescue");
|
||||
-static const char* kRescueTracker = B_TRANSLATE_MARK("Tracker");
|
||||
-static const char* kRescueDeskbar = B_TRANSLATE_MARK("Deskbar");
|
||||
static const char* kStartTerminal = B_TRANSLATE_MARK("Terminal");
|
||||
static const char* kShutdown = B_TRANSLATE_MARK("Shutdown");
|
||||
static const char* kShutdownReboot = B_TRANSLATE_MARK("Reboot");
|
||||
@@ -68,7 +65,8 @@ HandleView::HandleView()
|
||||
B_WILL_DRAW|B_PULSE_NEEDED|B_FULL_UPDATE_ON_RESIZE
|
||||
),
|
||||
m_mouse_down( false ),
|
||||
- m_moving_panel( false )
|
||||
+ m_moving_panel( false ),
|
||||
+ fMenu(NULL)
|
||||
{
|
||||
SetViewColor( 255,203,0,0 );
|
||||
}
|
||||
@@ -76,13 +74,15 @@ HandleView::HandleView()
|
||||
HandleView::HandleView( BMessage * msg )
|
||||
: BView( msg ),
|
||||
m_mouse_down( false ),
|
||||
- m_moving_panel( false )
|
||||
+ m_moving_panel( false ),
|
||||
+ fMenu(NULL)
|
||||
{
|
||||
SetFlags( Flags() | B_FULL_UPDATE_ON_RESIZE );
|
||||
}
|
||||
|
||||
HandleView::~HandleView()
|
||||
{
|
||||
+ delete fMenu;
|
||||
}
|
||||
|
||||
BArchivable *
|
||||
@@ -340,10 +340,17 @@ HandleView::MessageReceived( BMessage * msg )
|
||||
} break;
|
||||
case 'Quit':
|
||||
{
|
||||
- printf("Quit requested\n");
|
||||
be_app->PostMessage( B_QUIT_REQUESTED );
|
||||
}
|
||||
break;
|
||||
+ case 'Auto':
|
||||
+ {
|
||||
+ fAutoStartMenu->SetMarked(!fAutoStartMenu->IsMarked());
|
||||
+ BMessage msg('Auto');
|
||||
+ msg.AddBool("autostart", fAutoStartMenu->IsMarked());
|
||||
+ be_app->PostMessage(&msg);
|
||||
+ }
|
||||
+ break;
|
||||
case 'PSTE':
|
||||
{ // color drop
|
||||
rgb_color * col;
|
||||
@@ -418,19 +425,6 @@ HandleView::MessageReceived( BMessage * msg )
|
||||
{ // Hide replicants
|
||||
BDragger::HideAllDraggers();
|
||||
} break;
|
||||
- case 'reTR':
|
||||
- case 'reDB':
|
||||
- case 'reTE':
|
||||
- { // rescue menu
|
||||
- BRoster roster;
|
||||
- if (msg->what == 'reTR')
|
||||
- roster.Launch("application/x-vnd.Be-TRAK");
|
||||
- if (msg->what == 'reDB')
|
||||
- roster.Launch("application/x-vnd.Be-TSKB");
|
||||
- if (msg->what == 'reTE')
|
||||
- roster.Launch("application/x-vnd.Haiku-Terminal");
|
||||
- }
|
||||
- break;
|
||||
case kMsgShutdownSystem:
|
||||
case kMsgRebootSystem:
|
||||
{
|
||||
@@ -462,147 +456,134 @@ HandleView::ShowPopup( BPoint pos )
|
||||
{
|
||||
PanelWindow * panel = (PanelWindow*)Window();
|
||||
|
||||
- BPopUpMenu * menu = new BPopUpMenu(
|
||||
- "context",
|
||||
- false, // radio
|
||||
- false // label from marked
|
||||
- );
|
||||
+ if (fMenu == NULL) {
|
||||
+ fMenu = new BPopUpMenu(
|
||||
+ "context",
|
||||
+ false, // radio
|
||||
+ false // label from marked
|
||||
+ );
|
||||
|
||||
- BMenu * sub_menu;
|
||||
-
|
||||
- sub_menu = new BMenu( B_TRANSLATE(kIcoSize) );
|
||||
- // check if large
|
||||
- bool large_icons = false;
|
||||
- if ( Bounds().Width() > Bounds().Height() )
|
||||
- {
|
||||
- if ( Bounds().Width() > 20 )
|
||||
- large_icons = true;
|
||||
- } else
|
||||
- {
|
||||
- if ( Bounds().Height() > 20 )
|
||||
- large_icons = true;
|
||||
- }
|
||||
+ fIconSizeMenu = new BMenu( B_TRANSLATE(kIcoSize) );
|
||||
// create items
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kLargeIco), new BMessage('Lico')) );
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kSmallIco), new BMessage('Sico')) );
|
||||
- // set mark
|
||||
- if ( large_icons )
|
||||
- sub_menu->FindItem(B_TRANSLATE(kLargeIco))->SetMarked(true);
|
||||
- else
|
||||
- sub_menu->FindItem(B_TRANSLATE(kSmallIco))->SetMarked(true);
|
||||
+ fIconSizeMenu->AddItem( new BMenuItem(B_TRANSLATE(kLargeIco), new BMessage('Lico')) );
|
||||
+ fIconSizeMenu->AddItem( new BMenuItem(B_TRANSLATE(kSmallIco), new BMessage('Sico')) );
|
||||
// set target
|
||||
- sub_menu->SetTargetForItems( this );
|
||||
- menu->AddItem( sub_menu );
|
||||
-
|
||||
- sub_menu = new BMenu( B_TRANSLATE(kThickness));
|
||||
- // check if thick
|
||||
- bool thin_handle = false;
|
||||
- if ( Bounds().Width() == 1 || Bounds().Height() == 1 )
|
||||
- {
|
||||
- thin_handle = true;
|
||||
- }
|
||||
+ fIconSizeMenu->SetTargetForItems( this );
|
||||
+ fMenu->AddItem(fIconSizeMenu);
|
||||
+
|
||||
+ fThicknessMenu = new BMenu( B_TRANSLATE(kThickness));
|
||||
// create items
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kThickNormal), new BMessage('THno')) );
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kThickThin), new BMessage('THth')) );
|
||||
- // set mark
|
||||
- if ( !thin_handle )
|
||||
- sub_menu->FindItem(B_TRANSLATE(kThickNormal))->SetMarked(true);
|
||||
- else
|
||||
- sub_menu->FindItem(B_TRANSLATE(kThickThin))->SetMarked(true);
|
||||
+ fThicknessMenu->AddItem( new BMenuItem(B_TRANSLATE(kThickNormal), new BMessage('THno')) );
|
||||
+ fThicknessMenu->AddItem( new BMenuItem(B_TRANSLATE(kThickThin), new BMessage('THth')) );
|
||||
// set target
|
||||
- sub_menu->SetTargetForItems( this );
|
||||
- menu->AddItem( sub_menu );
|
||||
-
|
||||
- sub_menu = new BMenu( B_TRANSLATE(kScrollspeed));
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kSpeedSlow), new BMessage('SCsl')) );
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kSpeedNormal), new BMessage('SCno')) );
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kSpeedFast), new BMessage('SCfa')) );
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kSpeedInstant), new BMessage('SCin')) );
|
||||
- // check mark
|
||||
- if ( panel->AnimationDelay() == 500000 )
|
||||
- sub_menu->FindItem(B_TRANSLATE(kSpeedSlow))->SetMarked(true);
|
||||
- if ( panel->AnimationDelay() == 100000 )
|
||||
- sub_menu->FindItem(B_TRANSLATE(kSpeedNormal))->SetMarked(true);
|
||||
- if ( panel->AnimationDelay() == 20000 )
|
||||
- sub_menu->FindItem(B_TRANSLATE(kSpeedFast))->SetMarked(true);
|
||||
- if ( panel->AnimationDelay() == 0 )
|
||||
- sub_menu->FindItem(B_TRANSLATE(kSpeedInstant))->SetMarked(true);
|
||||
+ fThicknessMenu->SetTargetForItems( this );
|
||||
+ fMenu->AddItem(fThicknessMenu);
|
||||
+
|
||||
+ fScrollSpeedMenu = new BMenu( B_TRANSLATE(kScrollspeed));
|
||||
+ fScrollSpeedMenu->AddItem( new BMenuItem(B_TRANSLATE(kSpeedSlow), new BMessage('SCsl')) );
|
||||
+ fScrollSpeedMenu->AddItem( new BMenuItem(B_TRANSLATE(kSpeedNormal), new BMessage('SCno')) );
|
||||
+ fScrollSpeedMenu->AddItem( new BMenuItem(B_TRANSLATE(kSpeedFast), new BMessage('SCfa')) );
|
||||
+ fScrollSpeedMenu->AddItem( new BMenuItem(B_TRANSLATE(kSpeedInstant), new BMessage('SCin')) );
|
||||
// set target
|
||||
- sub_menu->SetTargetForItems( this );
|
||||
- menu->AddItem( sub_menu );
|
||||
-
|
||||
- sub_menu = new BMenu( B_TRANSLATE(kExpOnMouseOver));
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kOn), new BMessage('Semo')) );
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kOff), new BMessage('Semf')) );
|
||||
- // set mark
|
||||
- if ( panel->IsExpandOnMouseOver() )
|
||||
- sub_menu->FindItem(B_TRANSLATE(kOn))->SetMarked(true);
|
||||
- else
|
||||
- sub_menu->FindItem(B_TRANSLATE(kOff))->SetMarked(true);
|
||||
+ fScrollSpeedMenu->SetTargetForItems( this );
|
||||
+ fMenu->AddItem(fScrollSpeedMenu);
|
||||
+
|
||||
+ fExpandMenu = new BMenu( B_TRANSLATE(kExpOnMouseOver));
|
||||
+ fExpandMenu->AddItem( new BMenuItem(B_TRANSLATE(kOn), new BMessage('Semo')) );
|
||||
+ fExpandMenu->AddItem( new BMenuItem(B_TRANSLATE(kOff), new BMessage('Semf')) );
|
||||
// set target
|
||||
- sub_menu->SetTargetForItems( this );
|
||||
- menu->AddItem( sub_menu );
|
||||
-
|
||||
- sub_menu = new BMenu( B_TRANSLATE(kFloating));
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kOn), new BMessage('Sfly')) );
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kOff), new BMessage('Sfln')) );
|
||||
- // set mark
|
||||
- if ( Window()->Feel() == B_FLOATING_ALL_WINDOW_FEEL )
|
||||
- sub_menu->FindItem(B_TRANSLATE(kOn))->SetMarked(true);
|
||||
- else
|
||||
- sub_menu->FindItem(B_TRANSLATE(kOff))->SetMarked(true);
|
||||
+ fExpandMenu->SetTargetForItems( this );
|
||||
+ fMenu->AddItem(fExpandMenu);
|
||||
+
|
||||
+ fFloatMenu = new BMenu( B_TRANSLATE(kFloating));
|
||||
+ fFloatMenu->AddItem( new BMenuItem(B_TRANSLATE(kOn), new BMessage('Sfly')) );
|
||||
+ fFloatMenu->AddItem( new BMenuItem(B_TRANSLATE(kOff), new BMessage('Sfln')) );
|
||||
// set target
|
||||
- sub_menu->SetTargetForItems( this );
|
||||
- menu->AddItem( sub_menu );
|
||||
-
|
||||
-
|
||||
- sub_menu = new BMenu( B_TRANSLATE(kPanel));
|
||||
+ fFloatMenu->SetTargetForItems( this );
|
||||
+ fMenu->AddItem(fFloatMenu);
|
||||
+
|
||||
+ BMenu* sub_menu;
|
||||
+ sub_menu = new BMenu( B_TRANSLATE(kPanel));
|
||||
sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kPanelNew), new BMessage('Npan')) );
|
||||
sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kPanelRemove), new BMessage('Rpan')) );
|
||||
// set target
|
||||
sub_menu->SetTargetForItems( this );
|
||||
- menu->AddItem( sub_menu );
|
||||
-
|
||||
- menu->AddSeparatorItem();
|
||||
-
|
||||
- sub_menu = new BMenu( B_TRANSLATE(kReplicants));
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kRepShow), new BMessage('REsh')) );
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kRepHide), new BMessage('REhi')) );
|
||||
- // set mark
|
||||
- if ( BDragger::AreDraggersDrawn() )
|
||||
- sub_menu->FindItem(B_TRANSLATE(kRepShow))->SetMarked(true);
|
||||
- else
|
||||
- sub_menu->FindItem(B_TRANSLATE(kRepHide))->SetMarked(true);
|
||||
- // set target
|
||||
- sub_menu->SetTargetForItems( this );
|
||||
- menu->AddItem( sub_menu );
|
||||
-
|
||||
- sub_menu = new BMenu( B_TRANSLATE(kRescue));
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kRescueTracker), new BMessage('reTR')) );
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kRescueDeskbar), new BMessage('reDB')) );
|
||||
- sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kStartTerminal), new BMessage('reTE')) );
|
||||
+ fMenu->AddItem( sub_menu );
|
||||
+
|
||||
+ fMenu->AddSeparatorItem();
|
||||
+
|
||||
+ fReplicantsMenu = new BMenu( B_TRANSLATE(kReplicants));
|
||||
+ fReplicantsMenu->AddItem( new BMenuItem(B_TRANSLATE(kRepShow), new BMessage('REsh')) );
|
||||
+ fReplicantsMenu->AddItem( new BMenuItem(B_TRANSLATE(kRepHide), new BMessage('REhi')) );
|
||||
// set target
|
||||
- sub_menu->SetTargetForItems( this );
|
||||
- menu->AddItem( sub_menu );
|
||||
-
|
||||
- sub_menu = new BMenu( B_TRANSLATE(kShutdown));
|
||||
+ fReplicantsMenu->SetTargetForItems( this );
|
||||
+ fMenu->AddItem(fReplicantsMenu);
|
||||
+
|
||||
+ sub_menu = new BMenu( B_TRANSLATE(kShutdown));
|
||||
sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kShutdownReboot), new BMessage(kMsgRebootSystem)) );
|
||||
sub_menu->AddItem( new BMenuItem(B_TRANSLATE(kShutdownPoweroff), new BMessage(kMsgShutdownSystem)) );
|
||||
// set target
|
||||
sub_menu->SetTargetForItems( this );
|
||||
- menu->AddItem( sub_menu );
|
||||
-
|
||||
- menu->AddSeparatorItem();
|
||||
-
|
||||
- menu->AddItem( new BMenuItem(B_TRANSLATE(kQuit), new BMessage('Quit')) );
|
||||
+ fMenu->AddItem( sub_menu );
|
||||
+
|
||||
+ fMenu->AddSeparatorItem();
|
||||
+
|
||||
+ fMenu->AddItem( fAutoStartMenu = new BMenuItem(B_TRANSLATE("Autostart"), new BMessage('Auto')) );
|
||||
+ fMenu->AddItem( new BMenuItem(B_TRANSLATE(kQuit), new BMessage('Quit')) );
|
||||
+
|
||||
+ fMenu->SetTargetForItems( this );
|
||||
+ }
|
||||
|
||||
- menu->SetTargetForItems( this );
|
||||
+ // check if large
|
||||
+ bool large_icons = false;
|
||||
+ if ( Bounds().Width() > Bounds().Height() )
|
||||
+ {
|
||||
+ if ( Bounds().Width() > 20 )
|
||||
+ large_icons = true;
|
||||
+ } else
|
||||
+ {
|
||||
+ if ( Bounds().Height() > 20 )
|
||||
+ large_icons = true;
|
||||
+ }
|
||||
+ // set mark
|
||||
+ fIconSizeMenu->FindItem(B_TRANSLATE(kLargeIco))->SetMarked(large_icons);
|
||||
+ fIconSizeMenu->FindItem(B_TRANSLATE(kSmallIco))->SetMarked(!large_icons);
|
||||
|
||||
- menu->Go(
|
||||
- pos,
|
||||
- true, // delivers msg
|
||||
- true // open anyway
|
||||
- );
|
||||
-
|
||||
- delete menu;
|
||||
+ // check if thick
|
||||
+ bool thin_handle = false;
|
||||
+ if ( Bounds().Width() == 1 || Bounds().Height() == 1 )
|
||||
+ {
|
||||
+ thin_handle = true;
|
||||
+ }
|
||||
+ // set mark
|
||||
+ fThicknessMenu->FindItem(B_TRANSLATE(kThickNormal))->SetMarked(thin_handle);
|
||||
+ fThicknessMenu->FindItem(B_TRANSLATE(kThickThin))->SetMarked(!thin_handle);
|
||||
+
|
||||
+ // check mark
|
||||
+ int delay = panel->AnimationDelay();
|
||||
+ fScrollSpeedMenu->FindItem(B_TRANSLATE(kSpeedSlow))->SetMarked(delay == 500000);
|
||||
+ fScrollSpeedMenu->FindItem(B_TRANSLATE(kSpeedNormal))->SetMarked(delay == 100000);
|
||||
+ fScrollSpeedMenu->FindItem(B_TRANSLATE(kSpeedFast))->SetMarked(delay == 20000);
|
||||
+ fScrollSpeedMenu->FindItem(B_TRANSLATE(kSpeedInstant))->SetMarked(delay == 0);
|
||||
+
|
||||
+ // set mark
|
||||
+ bool floating = Window()->Feel() == B_FLOATING_ALL_WINDOW_FEEL;
|
||||
+ fFloatMenu->FindItem(B_TRANSLATE(kOn))->SetMarked(floating);
|
||||
+ fFloatMenu->FindItem(B_TRANSLATE(kOff))->SetMarked(!floating);
|
||||
+
|
||||
+ // set mark
|
||||
+ bool expand = panel->IsExpandOnMouseOver();
|
||||
+ fExpandMenu->FindItem(B_TRANSLATE(kOn))->SetMarked(expand);
|
||||
+ fExpandMenu->FindItem(B_TRANSLATE(kOff))->SetMarked(!expand);
|
||||
+
|
||||
+ // set mark
|
||||
+ bool dragger = BDragger::AreDraggersDrawn();
|
||||
+ fReplicantsMenu->FindItem(B_TRANSLATE(kRepShow))->SetMarked(dragger);
|
||||
+ fReplicantsMenu->FindItem(B_TRANSLATE(kRepHide))->SetMarked(!dragger);
|
||||
+
|
||||
+ fMenu->Go(
|
||||
+ pos,
|
||||
+ true, // delivers msg
|
||||
+ true // open anyway
|
||||
+ );
|
||||
}
|
||||
diff --git a/source/HandleView.h b/source/HandleView.h
|
||||
index 86d84a6..b143738 100644
|
||||
--- a/source/HandleView.h
|
||||
+++ b/source/HandleView.h
|
||||
@@ -3,6 +3,10 @@
|
||||
|
||||
#include <View.h>
|
||||
|
||||
+class BMenu;
|
||||
+class BMenuItem;
|
||||
+class BPopUpMenu;
|
||||
+
|
||||
class HandleView : public BView
|
||||
{
|
||||
public:
|
||||
@@ -25,6 +29,15 @@ class HandleView : public BView
|
||||
bool m_mouse_down;
|
||||
bool m_moving_panel;
|
||||
int32 m_buttons;
|
||||
+
|
||||
+ BPopUpMenu* fMenu;
|
||||
+ BMenu* fIconSizeMenu;
|
||||
+ BMenu* fThicknessMenu;
|
||||
+ BMenu* fScrollSpeedMenu;
|
||||
+ BMenu* fExpandMenu;
|
||||
+ BMenu* fFloatMenu;
|
||||
+ BMenu* fReplicantsMenu;
|
||||
+ BMenuItem* fAutoStartMenu;
|
||||
|
||||
void ShowPopup( BPoint );
|
||||
};
|
||||
diff --git a/source/IconView.cpp b/source/IconView.cpp
|
||||
index 3f88162..84342fc 100644
|
||||
--- a/source/IconView.cpp
|
||||
+++ b/source/IconView.cpp
|
||||
@@ -76,8 +76,6 @@ IconView::Instantiate( BMessage * archive )
|
||||
status_t
|
||||
IconView::Archive( BMessage * msg, bool deep ) const
|
||||
{
|
||||
- printf("Archiving path [%s] mime [%s]\n", m_path.Path(), m_app_sig.Type() );
|
||||
-
|
||||
msg->AddString("path", m_path.Path() );
|
||||
if ( m_app_sig.InitCheck() == B_OK )
|
||||
msg->AddString("app_sig", m_app_sig.Type() );
|
||||
@@ -136,14 +134,12 @@ IconView::Draw( BRect )
|
||||
|
||||
if (m_large_icon && bounds.Width() > 30)
|
||||
{
|
||||
-// printf("large icon\n");
|
||||
SetBlendingMode( B_PIXEL_ALPHA, B_ALPHA_OVERLAY );
|
||||
SetDrawingMode( B_OP_ALPHA );
|
||||
DrawBitmap( m_large_icon, BPoint(2,2) );
|
||||
} else
|
||||
if (m_small_icon)
|
||||
{
|
||||
-// printf("small icon\n");
|
||||
SetBlendingMode( B_PIXEL_ALPHA, B_ALPHA_OVERLAY );
|
||||
SetDrawingMode( B_OP_ALPHA );
|
||||
DrawBitmap( m_small_icon, BPoint(2,2) );
|
||||
@@ -358,15 +354,12 @@ IconView::MessageReceived( BMessage * msg )
|
||||
case GET_STRING_WINDOW_RESULT:
|
||||
{ // got string from args-window, Run!
|
||||
const char * arg_str = msg->FindString("string");
|
||||
- printf("arg_str [%s]\n", arg_str);
|
||||
Run( arg_str );
|
||||
} break;
|
||||
case BUBBLE_TEXT_REQUEST:
|
||||
{
|
||||
-// printf("Got bubble text request\n");
|
||||
BMessage reply( BUBBLE_TEXT_REPLY );
|
||||
reply.AddString("text", m_path.Leaf() );
|
||||
-// printf(" sending text [%s]\n", m_path.Leaf() );
|
||||
msg->SendReply( &reply );
|
||||
} break;
|
||||
default:
|
||||
@@ -404,14 +397,11 @@ IconView::Run( const char * args )
|
||||
|
||||
BMimeType mime_type( mime );
|
||||
|
||||
- printf("run [%s] [%s]\n", m_actual_path.Path(), mime_type.Type() );
|
||||
-
|
||||
BMessage msg( B_REFS_RECEIVED );
|
||||
msg.AddRef("refs",&ref);
|
||||
|
||||
if ( mime_type == "application/x-vnd.Be-directory" )
|
||||
{ // folder, open with preferred app
|
||||
- printf(B_TRANSLATE("open folder\n"));
|
||||
be_roster->Launch( mime_type.Type(), &msg );
|
||||
return;
|
||||
}
|
||||
@@ -451,18 +441,11 @@ IconView::Run( const char * args )
|
||||
num_arg++;
|
||||
}
|
||||
|
||||
- printf(B_TRANSLATE("Launching with args\n"));
|
||||
- printf(B_TRANSLATE(" argv ["));
|
||||
- for ( int c=0; c<num_arg; c++ )
|
||||
- printf("%s,",argv[c]);
|
||||
- printf("]\n");
|
||||
be_roster->Launch( &ref, num_arg, argv );
|
||||
|
||||
for ( int c=0; c<num_arg; c++ )
|
||||
delete [] argv[c];
|
||||
|
||||
- printf(B_TRANSLATE(" launched with args\n"));
|
||||
-
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -496,21 +479,6 @@ IconView::Update( bool get_icons )
|
||||
m_actual_path = m_path;
|
||||
}
|
||||
|
||||
- if ( m_path != m_actual_path )
|
||||
- {
|
||||
- printf("path [%s] actual [%s] app_sig [%s]\n",
|
||||
- m_path.Path(),
|
||||
- m_actual_path.Path(),
|
||||
- m_app_sig.Type()
|
||||
- );
|
||||
- } else
|
||||
- {
|
||||
- printf("path [%s] app_sig [%s]\n",
|
||||
- m_path.Path(),
|
||||
- m_app_sig.Type()
|
||||
- );
|
||||
- }
|
||||
-
|
||||
bool found_large = false, found_small = false;
|
||||
|
||||
if ( node.InitCheck() == B_OK )
|
||||
diff --git a/source/main.cpp b/source/main.cpp
|
||||
index 34f6da5..1126ce8 100644
|
||||
--- a/source/main.cpp
|
||||
+++ b/source/main.cpp
|
||||
@@ -15,11 +15,13 @@ class MyApp : public BApplication
|
||||
{
|
||||
protected:
|
||||
List<PanelWindow> m_panels;
|
||||
+ bool fAutoStart;
|
||||
|
||||
public:
|
||||
MyApp()
|
||||
: BApplication("application/x-vnd.LnLauncher")
|
||||
{
|
||||
+ fAutoStart = true;
|
||||
};
|
||||
|
||||
virtual ~MyApp()
|
||||
@@ -33,6 +35,7 @@ class MyApp : public BApplication
|
||||
|
||||
settings.Load();
|
||||
|
||||
+ settings.FindBool("autostart", fAutoStart);
|
||||
for ( int32 c=0; settings.FindMessage("panel",c,&msg) == B_OK; c++ )
|
||||
{
|
||||
PanelWindow * panel = dynamic_cast<PanelWindow*>( PanelWindow::Instantiate(&msg) );
|
||||
@@ -57,6 +60,8 @@ class MyApp : public BApplication
|
||||
BMessage panel;
|
||||
|
||||
settings.MakeEmpty();
|
||||
+
|
||||
+ settings.AddBool("autostart", fAutoStart);
|
||||
|
||||
for ( int c=0; m_panels[c]; c++ )
|
||||
{
|
||||
@@ -101,6 +106,11 @@ class MyApp : public BApplication
|
||||
{ // update settings
|
||||
SaveSettings();
|
||||
} break;
|
||||
+ case 'Auto':
|
||||
+ {
|
||||
+ msg->FindBool("autostart", &fAutoStart);
|
||||
+ SaveSettings();
|
||||
+ } break;
|
||||
default:
|
||||
return BApplication::MessageReceived( msg );
|
||||
|
||||
--
|
||||
2.2.2
|
||||
|
||||
|
||||
From 8498d6d5be16814b482c9122873a56f6b2aec3c3 Mon Sep 17 00:00:00 2001
|
||||
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
||||
Date: Tue, 10 Nov 2015 20:26:48 +0100
|
||||
Subject: Fix background of GetStringWindow
|
||||
|
||||
* This was not done right, overlapping views don't work well.
|
||||
|
||||
diff --git a/source/GetStringWindow.cpp b/source/GetStringWindow.cpp
|
||||
index 7ed9288..4ad9e4b 100644
|
||||
--- a/source/GetStringWindow.cpp
|
||||
+++ b/source/GetStringWindow.cpp
|
||||
@@ -48,9 +48,13 @@ GetStringWindow::CommonInit( const char * label, const char * text )
|
||||
float y_middle = Bounds().Height() / 2;
|
||||
float x_middle = Bounds().Width() / 2;
|
||||
|
||||
+ BView *view = new BView(Frame(), "background", B_FOLLOW_ALL, B_WILL_DRAW);
|
||||
+ AddChild(view);
|
||||
+ view->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||
+
|
||||
BTextControl * control = new BTextControl(
|
||||
BRect(15, 5, 280, 10), "control", label, text, new BMessage);
|
||||
- AddChild( control );
|
||||
+ view->AddChild(control);
|
||||
|
||||
BFont font;
|
||||
control->GetFont( &font );
|
||||
@@ -62,23 +66,16 @@ GetStringWindow::CommonInit( const char * label, const char * text )
|
||||
BButton * cancel = new BButton(
|
||||
button_rect, "", B_TRANSLATE(kCancel),
|
||||
new BMessage('Canc'));
|
||||
- AddChild( cancel );
|
||||
+ view->AddChild(cancel);
|
||||
cancel->MoveBy(0, y_middle + 5);
|
||||
|
||||
BButton * ok = new BButton(
|
||||
button_rect, "", B_TRANSLATE(kOk),
|
||||
new BMessage('Ok '));
|
||||
- AddChild( ok );
|
||||
+ view->AddChild(ok);
|
||||
ok->MoveBy( x_middle, y_middle + 5 );
|
||||
|
||||
- BScreen screen( this );
|
||||
-
|
||||
- BRect frame( screen.Frame() );
|
||||
- MoveTo( ( frame.Width() - Frame().Width())/2,(frame.Height()-Frame().Height())/2 );
|
||||
-
|
||||
- BView *view = new BView(BRect(0,0,300,65),"background", B_FOLLOW_ALL, B_WILL_DRAW);
|
||||
- AddChild(view);
|
||||
- // view->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||
+ CenterOnScreen();
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.2.2
|
||||
|
||||
Reference in New Issue
Block a user