Fix autostart toggle bug, consolidated some functions
Fixed toggling autostart which was broken last commit. Consolidated some functions which were only called from one place and honestly work more elegantly when merged together.
This commit is contained in:
parent
fc6f5bdbcf
commit
2be6c388ad
37
pinger.py
37
pinger.py
|
@ -99,6 +99,7 @@ else:
|
||||||
class Pinger:
|
class Pinger:
|
||||||
ping_log = []
|
ping_log = []
|
||||||
paused = False
|
paused = False
|
||||||
|
autostart = False
|
||||||
|
|
||||||
def ping(self, widget=None, data=None):
|
def ping(self, widget=None, data=None):
|
||||||
if not self.paused:
|
if not self.paused:
|
||||||
|
@ -139,7 +140,8 @@ class Pinger:
|
||||||
print "Quitting..."
|
print "Quitting..."
|
||||||
Gtk.main_quit()
|
Gtk.main_quit()
|
||||||
|
|
||||||
def create_autostart(self, widget, data=None):
|
def toggle_autostart(self, widget, data=None):
|
||||||
|
if not self.autostart:
|
||||||
if not os.path.exists(startup_dir):
|
if not os.path.exists(startup_dir):
|
||||||
os.makedirs(startup_dir)
|
os.makedirs(startup_dir)
|
||||||
with open(startup_path,'w') as f:
|
with open(startup_path,'w') as f:
|
||||||
|
@ -149,30 +151,19 @@ class Pinger:
|
||||||
"X-GNOME-Autostart-enabled=true\r\n"
|
"X-GNOME-Autostart-enabled=true\r\n"
|
||||||
"Name=Pinger\r\n"
|
"Name=Pinger\r\n"
|
||||||
"Comment=Pings the internet every few seconds")
|
"Comment=Pings the internet every few seconds")
|
||||||
self.update_startup_menu()
|
self.autostart = True
|
||||||
|
self.startup_menu.set_label(startup_active_label)
|
||||||
def remove_autostart(self, widget, data=None):
|
else:
|
||||||
os.remove(startup_path)
|
os.remove(startup_path)
|
||||||
self.update_startup_menu()
|
self.autostart = False
|
||||||
print "Removed"
|
self.startup_menu.set_label(startup_inactive_label)
|
||||||
|
|
||||||
def toggle_pause(self, widget, data=None):
|
def toggle_pause(self, widget, data=None):
|
||||||
if self.paused:
|
if self.paused:
|
||||||
self.paused = False
|
self.paused = False
|
||||||
else:
|
|
||||||
self.paused = True
|
|
||||||
self.update_pause_menu()
|
|
||||||
|
|
||||||
def update_startup_menu(self):
|
|
||||||
if os.path.exists(startup_path):
|
|
||||||
self.startup_menu.set_label(startup_active_label)
|
|
||||||
else:
|
|
||||||
self.startup_menu.set_label(startup_inactive_label)
|
|
||||||
|
|
||||||
def update_pause_menu(self):
|
|
||||||
if self.paused:
|
|
||||||
self.pause_menu.set_label(play_label)
|
self.pause_menu.set_label(play_label)
|
||||||
else:
|
else:
|
||||||
|
self.paused = True
|
||||||
self.pause_menu.set_label(pause_label)
|
self.pause_menu.set_label(pause_label)
|
||||||
|
|
||||||
def update_log_menu(self):
|
def update_log_menu(self):
|
||||||
|
@ -210,10 +201,14 @@ class Pinger:
|
||||||
self.menu = Gtk.Menu()
|
self.menu = Gtk.Menu()
|
||||||
# with pause option
|
# with pause option
|
||||||
self.pause_menu = self.create_menu_item(pause_label, self.toggle_pause)
|
self.pause_menu = self.create_menu_item(pause_label, self.toggle_pause)
|
||||||
self.update_pause_menu()
|
|
||||||
# with autostart option
|
# with autostart option
|
||||||
self.startup_menu = self.create_menu_item(startup_inactive_label, self.create_autostart)
|
# first, check current autostart state by checking existance of .desktop file
|
||||||
self.update_startup_menu()
|
try:
|
||||||
|
with open(startup_dir):
|
||||||
|
self.autostart = True
|
||||||
|
except IOError:
|
||||||
|
self.autostart = False
|
||||||
|
self.startup_menu = self.create_menu_item(startup_inactive_label, self.toggle_autostart)
|
||||||
# and log display
|
# and log display
|
||||||
self.log_menu = self.create_menu_item("Ping Log", None)
|
self.log_menu = self.create_menu_item("Ping Log", None)
|
||||||
# and exit option
|
# and exit option
|
||||||
|
|
Loading…
Reference in New Issue
Block a user