summaryrefslogtreecommitdiffstats
path: root/gui.py
diff options
context:
space:
mode:
authorMike Fulbright <msf@redhat.com>2002-06-28 03:53:17 +0000
committerMike Fulbright <msf@redhat.com>2002-06-28 03:53:17 +0000
commitab0723f716e7288f7969c7e15cbfdb3d51c3388f (patch)
tree957650b279cbb7ac1204e36e2d8afe5d2696409f /gui.py
parentb4561105f584ae6e32b9e24e5e2d55112117df3e (diff)
downloadanaconda-ab0723f716e7288f7969c7e15cbfdb3d51c3388f.tar.gz
anaconda-ab0723f716e7288f7969c7e15cbfdb3d51c3388f.tar.xz
anaconda-ab0723f716e7288f7969c7e15cbfdb3d51c3388f.zip
anacondawm
Diffstat (limited to 'gui.py')
-rwxr-xr-xgui.py63
1 files changed, 60 insertions, 3 deletions
diff --git a/gui.py b/gui.py
index ad9262153..50c91e473 100755
--- a/gui.py
+++ b/gui.py
@@ -168,12 +168,69 @@ class WrappingLabel(gtk.Label):
# self.set_size_request(-1, 1)
widgetExpander(self)
-def addFrame(dialog):
+def titleBarMousePressCB(widget, event, data):
+ if event.type & gtk.gdk.BUTTON_PRESS:
+ data["state"] = 1
+ data["button"] = event.button
+ data["deltax"] = event.x
+ data["deltay"] = event.y
+
+def titleBarMouseReleaseCB(widget, event, data):
+ if data["state"] and event.button == data["button"]:
+ data["state"] = 0
+ data["button"] = 0
+ data["deltax"] = 0
+ data["deltay"] = 0
+
+def titleBarMotionEventCB(widget, event, data):
+ if data["state"]:
+ newx = event.x_root-data["deltax"]
+ newy = event.y_root-data["deltay"]
+ if newx < 0 or newy < 0:
+ return
+ (w, h) = data["window"].get_size()
+ if (newx+w) > gtk.gdk.screen_width() or (newy > (gtk.gdk.screen_height()-10)):
+ return
+
+ data["window"].move(newx, newy)
+
+def addFrame(dialog, title=None):
contents = dialog.get_children()[0]
dialog.remove(contents)
frame = gtk.Frame()
frame.set_shadow_type(gtk.SHADOW_OUT)
- frame.add(contents)
+ box = gtk.VBox()
+ try:
+ if title is None:
+ title = dialog.get_title()
+
+ if title:
+ data = {}
+ data["state"] = 0
+ data["button"] = 0
+ data["deltax"] = 0
+ data["deltay"] = 0
+ data["window"] = dialog
+ eventBox = gtk.EventBox()
+ eventBox.connect("button-press-event", titleBarMousePressCB, data)
+ eventBox.connect("button-release-event", titleBarMouseReleaseCB, data)
+ eventBox.connect("motion-notify-event", titleBarMotionEventCB,data)
+ titleBox = gtk.HBox(gtk.FALSE, 5)
+ eventBox.add(titleBox)
+ eventBox.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse ("#4C57a6"))
+ titlelbl = gtk.Label(_(title))
+ titlelbl.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse ("white"))
+ titleBox.pack_start(titlelbl)
+ box.pack_start(eventBox, gtk.FALSE, gtk.FALSE)
+ except:
+ pass
+
+ frame2=gtk.Frame()
+ frame2.set_shadow_type(gtk.SHADOW_NONE)
+ frame2.set_border_width(4)
+ frame2.add(contents)
+ box.pack_start(frame2, gtk.TRUE, gtk.TRUE, padding=5)
+ frame.add(box)
frame.show()
dialog.add(frame)
@@ -344,7 +401,7 @@ class MessageWindow:
else:
defaultchoice = 0
- addFrame(dialog)
+ addFrame(dialog, title=title)
dialog.set_position (gtk.WIN_POS_CENTER)
dialog.set_default_response(defaultchoice)
dialog.show_all ()