linux ui: Fix crash with multiple (crashed) instances
This commit is contained in:
parent
84a149ad2a
commit
ae97418566
|
@ -35,8 +35,8 @@ namespace SparkleShare
|
||||||
public About About;
|
public About About;
|
||||||
public Note Note;
|
public Note Note;
|
||||||
|
|
||||||
public readonly string SecondaryTextColor;
|
public string SecondaryTextColor;
|
||||||
public readonly string SecondaryTextColorSelected;
|
public string SecondaryTextColorSelected;
|
||||||
|
|
||||||
Application application;
|
Application application;
|
||||||
|
|
||||||
|
@ -47,25 +47,12 @@ namespace SparkleShare
|
||||||
Logger.LogInfo ("Environment", "GTK+ " + gtk_version);
|
Logger.LogInfo ("Environment", "GTK+ " + gtk_version);
|
||||||
|
|
||||||
application = new Application ("org.sparkleshare.SparkleShare", GLib.ApplicationFlags.None);
|
application = new Application ("org.sparkleshare.SparkleShare", GLib.ApplicationFlags.None);
|
||||||
|
|
||||||
application.Register (null);
|
|
||||||
application.Activated += ApplicationActivatedDelegate;
|
application.Activated += ApplicationActivatedDelegate;
|
||||||
|
|
||||||
if (IconTheme.Default != null)
|
if (!application.IsRemote)
|
||||||
IconTheme.Default.AppendSearchPath (Path.Combine (UserInterface.AssetsPath, "icons"));
|
return;
|
||||||
|
|
||||||
var label = new Label ();
|
application.Register (null);
|
||||||
Gdk.Color color = UserInterfaceHelpers.RGBAToColor (label.StyleContext.GetColor (StateFlags.Insensitive));
|
|
||||||
SecondaryTextColor = UserInterfaceHelpers.ColorToHex (color);
|
|
||||||
|
|
||||||
var tree_view = new TreeView ();
|
|
||||||
|
|
||||||
color = UserInterfaceHelpers.MixColors (
|
|
||||||
UserInterfaceHelpers.RGBAToColor (tree_view.StyleContext.GetColor (StateFlags.Selected)),
|
|
||||||
UserInterfaceHelpers.RGBAToColor (tree_view.StyleContext.GetBackgroundColor (StateFlags.Selected)),
|
|
||||||
0.39);
|
|
||||||
|
|
||||||
SecondaryTextColorSelected = UserInterfaceHelpers.ColorToHex (color);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -143,6 +130,9 @@ namespace SparkleShare
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (IconTheme.Default != null)
|
||||||
|
IconTheme.Default.AppendSearchPath (Path.Combine (UserInterface.AssetsPath, "icons"));
|
||||||
|
|
||||||
Setup = new Setup ();
|
Setup = new Setup ();
|
||||||
EventLog = new EventLog ();
|
EventLog = new EventLog ();
|
||||||
About = new About ();
|
About = new About ();
|
||||||
|
@ -155,7 +145,24 @@ namespace SparkleShare
|
||||||
About.Application = application;
|
About.Application = application;
|
||||||
Note.Application = application;
|
Note.Application = application;
|
||||||
|
|
||||||
|
DetectTextColors ();
|
||||||
|
|
||||||
SparkleShare.Controller.UIHasLoaded ();
|
SparkleShare.Controller.UIHasLoaded ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DetectTextColors ()
|
||||||
|
{
|
||||||
|
Gdk.Color text_color = UserInterfaceHelpers.RGBAToColor (new Label ().StyleContext.GetColor (StateFlags.Insensitive));
|
||||||
|
var tree_view_style = new TreeView ().StyleContext;
|
||||||
|
|
||||||
|
Gdk.Color text_color_selected = UserInterfaceHelpers.MixColors (
|
||||||
|
UserInterfaceHelpers.RGBAToColor (tree_view_style.GetColor (StateFlags.Selected)),
|
||||||
|
UserInterfaceHelpers.RGBAToColor (tree_view_style.GetBackgroundColor (StateFlags.Selected)),
|
||||||
|
0.25);
|
||||||
|
|
||||||
|
SecondaryTextColor = UserInterfaceHelpers.ColorToHex (text_color);
|
||||||
|
SecondaryTextColorSelected = UserInterfaceHelpers.ColorToHex (text_color_selected);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ case $1 in
|
||||||
echo
|
echo
|
||||||
echo "Options:"
|
echo "Options:"
|
||||||
echo " --open sparkleshare://URL Open invite file at URL"
|
echo " --open sparkleshare://URL Open invite file at URL"
|
||||||
echo " --status-icon=[appindicator|gtk] Use a specific status icon implementation."
|
echo " --status-icon=[appindicator|gtk] Use a specific status icon implementation"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
mono "@ABS_INSTALL_DIR@/SparkleShare.exe" $@
|
mono "@ABS_INSTALL_DIR@/SparkleShare.exe" $@
|
||||||
|
|
Loading…
Reference in a new issue