mirror of
https://github.com/gryf/wicd.git
synced 2026-02-18 07:55:45 +01:00
Add missing guiutil module
This commit is contained in:
111
wicd/guiutil.py
Normal file
111
wicd/guiutil.py
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
""" guiutil - A collection of commonly used gtk/gui functions and classes. """
|
||||||
|
#
|
||||||
|
# Copyright (C) 2007 - 2008 Adam Blackburn
|
||||||
|
# Copyright (C) 2007 - 2008 Dan O'Reilly
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License Version 2 as
|
||||||
|
# published by the Free Software Foundation.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
import gtk
|
||||||
|
|
||||||
|
def error(parent, message, block=True):
|
||||||
|
""" Shows an error dialog. """
|
||||||
|
def delete_event(dialog, id):
|
||||||
|
dialog.destroy()
|
||||||
|
dialog = gtk.MessageDialog(parent, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR,
|
||||||
|
gtk.BUTTONS_OK)
|
||||||
|
dialog.set_markup(message)
|
||||||
|
if not block:
|
||||||
|
dialog.present()
|
||||||
|
dialog.connect("response", delete_event)
|
||||||
|
else:
|
||||||
|
dialog.run()
|
||||||
|
dialog.destroy()
|
||||||
|
|
||||||
|
def alert(parent, message, block=True):
|
||||||
|
""" Shows an warning dialog. """
|
||||||
|
def delete_event(dialog, id):
|
||||||
|
dialog.destroy()
|
||||||
|
dialog = gtk.MessageDialog(parent, gtk.DIALOG_MODAL, gtk.MESSAGE_WARNING,
|
||||||
|
gtk.BUTTONS_OK)
|
||||||
|
dialog.set_markup(message)
|
||||||
|
if not block:
|
||||||
|
dialog.present()
|
||||||
|
dialog.connect("response", delete_event)
|
||||||
|
else:
|
||||||
|
dialog.run()
|
||||||
|
dialog.destroy()
|
||||||
|
|
||||||
|
|
||||||
|
class SmallLabel(gtk.Label):
|
||||||
|
def __init__(self, text=''):
|
||||||
|
gtk.Label.__init__(self, text)
|
||||||
|
self.set_size_request(50, -1)
|
||||||
|
|
||||||
|
class LeftAlignedLabel(gtk.Label):
|
||||||
|
def __init__(self, label=None):
|
||||||
|
gtk.Label.__init__(self, label)
|
||||||
|
self.set_alignment(0.0, 0.5)
|
||||||
|
|
||||||
|
class LabelEntry(gtk.HBox):
|
||||||
|
""" A label on the left with a textbox on the right. """
|
||||||
|
def __init__(self,text):
|
||||||
|
gtk.HBox.__init__(self)
|
||||||
|
self.entry = gtk.Entry()
|
||||||
|
self.entry.set_size_request(200, -1)
|
||||||
|
self.label = SmallLabel()
|
||||||
|
self.label.set_text(text)
|
||||||
|
self.label.set_size_request(170, -1)
|
||||||
|
self.pack_start(self.label, fill=False, expand=False)
|
||||||
|
self.pack_start(self.entry, fill=False, expand=False)
|
||||||
|
self.label.show()
|
||||||
|
self.entry.show()
|
||||||
|
self.entry.connect('focus-out-event', self.hide_characters)
|
||||||
|
self.entry.connect('focus-in-event', self.show_characters)
|
||||||
|
self.auto_hide_text = False
|
||||||
|
self.show()
|
||||||
|
|
||||||
|
def set_text(self, text):
|
||||||
|
# For compatibility...
|
||||||
|
self.entry.set_text(text)
|
||||||
|
|
||||||
|
def get_text(self):
|
||||||
|
return self.entry.get_text()
|
||||||
|
|
||||||
|
def set_auto_hidden(self, value):
|
||||||
|
self.entry.set_visibility(False)
|
||||||
|
self.auto_hide_text = value
|
||||||
|
|
||||||
|
def show_characters(self, widget=None, event=None):
|
||||||
|
# When the box has focus, show the characters
|
||||||
|
if self.auto_hide_text and widget:
|
||||||
|
self.entry.set_visibility(True)
|
||||||
|
|
||||||
|
def set_sensitive(self, value):
|
||||||
|
self.entry.set_sensitive(value)
|
||||||
|
self.label.set_sensitive(value)
|
||||||
|
|
||||||
|
def hide_characters(self, widget=None, event=None):
|
||||||
|
# When the box looses focus, hide them
|
||||||
|
if self.auto_hide_text and widget:
|
||||||
|
self.entry.set_visibility(False)
|
||||||
|
|
||||||
|
|
||||||
|
class GreyLabel(gtk.Label):
|
||||||
|
""" Creates a grey gtk.Label. """
|
||||||
|
def __init__(self):
|
||||||
|
gtk.Label.__init__(self)
|
||||||
|
|
||||||
|
def set_label(self, text):
|
||||||
|
self.set_markup("<span color=\"#666666\"><i>" + text + "</i></span>")
|
||||||
|
self.set_alignment(0, 0)
|
||||||
@@ -95,6 +95,7 @@ class WicdDaemon(dbus.service.Object):
|
|||||||
self.connection_state = misc.NOT_CONNECTED
|
self.connection_state = misc.NOT_CONNECTED
|
||||||
self.connection_info = [""]
|
self.connection_info = [""]
|
||||||
self.auto_connecting = False
|
self.auto_connecting = False
|
||||||
|
self.prefer_wired = False
|
||||||
self.dhcp_client = 0
|
self.dhcp_client = 0
|
||||||
self.link_detect_tool = 0
|
self.link_detect_tool = 0
|
||||||
self.flush_tool = 0
|
self.flush_tool = 0
|
||||||
@@ -507,6 +508,22 @@ class WicdDaemon(dbus.service.Object):
|
|||||||
""" Returns the wired autoconnect method. """
|
""" Returns the wired autoconnect method. """
|
||||||
return int(self.wired_connect_mode)
|
return int(self.wired_connect_mode)
|
||||||
|
|
||||||
|
|
||||||
|
@dbus.service.method('org.wicd.dameon')
|
||||||
|
def GetPreferWiredNetwork(self):
|
||||||
|
""" Returns True if wired network preference is set.
|
||||||
|
|
||||||
|
If this is True, wicd will switch from a wireless connection
|
||||||
|
to a wired one if an ethernet connection is available.
|
||||||
|
|
||||||
|
"""
|
||||||
|
return self.prefer_wired
|
||||||
|
|
||||||
|
@dbus.service.method('org.wicd.daemon')
|
||||||
|
def SetPreferWiredNetwork(self, value):
|
||||||
|
""" Sets the prefer_wired state. """
|
||||||
|
self.prefer_wired = value
|
||||||
|
|
||||||
@dbus.service.method('org.wicd.daemon')
|
@dbus.service.method('org.wicd.daemon')
|
||||||
def SetConnectionStatus(self, state, info):
|
def SetConnectionStatus(self, state, info):
|
||||||
""" Sets the connection status.
|
""" Sets the connection status.
|
||||||
@@ -837,6 +854,8 @@ class WicdDaemon(dbus.service.Object):
|
|||||||
self.SetLinkDetectionTool(app_conf.get("Settings", "link_detect_tool",
|
self.SetLinkDetectionTool(app_conf.get("Settings", "link_detect_tool",
|
||||||
default=0))
|
default=0))
|
||||||
self.SetFlushTool(app_conf.get("Settings", "flush_tool", default=0))
|
self.SetFlushTool(app_conf.get("Settings", "flush_tool", default=0))
|
||||||
|
self.SetPreferWiredNetwork(app_conf.get("Settings", "prefer_wired",
|
||||||
|
default=False))
|
||||||
app_conf.write()
|
app_conf.write()
|
||||||
|
|
||||||
if os.path.isfile(wireless_conf):
|
if os.path.isfile(wireless_conf):
|
||||||
|
|||||||
Reference in New Issue
Block a user