Better delProfile gui implementation
authorstack <stack@inventati.org>
Wed, 11 Jul 2012 17:57:26 +0000 (19:57 +0200)
committerstack <stack@inventati.org>
Wed, 11 Jul 2012 17:57:26 +0000 (19:57 +0200)
now the gui resizes on Dialog reopening and a button to add a profile is
none is present has been added, the deleteprofile action is not more
commented

gui.py

diff --git a/gui.py b/gui.py
index a0c10f5..363904d 100644 (file)
--- a/gui.py
+++ b/gui.py
@@ -72,7 +72,6 @@ class Gui(QtGui.QDialog):
         """ Like Gtk application this main executes the app, thi is somewhat writed for
         compatibility in porting the app """
 
         """ Like Gtk application this main executes the app, thi is somewhat writed for
         compatibility in porting the app """
 
-        self.show()
         sys.exit(self.app.exec_())
 
     def closeEvent(self, event):
         sys.exit(self.app.exec_())
 
     def closeEvent(self, event):
@@ -91,16 +90,23 @@ class Gui(QtGui.QDialog):
                 triggered=QtGui.qApp.quit)
 
         #profile manager component
                 triggered=QtGui.qApp.quit)
 
         #profile manager component
-        self.addProfile = QtGui.QAction("  Add &Profile  ", self,
+        self.addProfileAction = QtGui.QAction("  Add &Profile  ", self,
                 triggered=self.addProfile)
 
     def createMainDialog(self):    
         """ Build the main dialog layout """ 
         
         self.setWindowTitle("Profile manager / Dboxswitch - dropbox profile switcher")
                 triggered=self.addProfile)
 
     def createMainDialog(self):    
         """ Build the main dialog layout """ 
         
         self.setWindowTitle("Profile manager / Dboxswitch - dropbox profile switcher")
+        #add a default action to create a profile
+        self.addButton = QtGui.QPushButton(QtGui.QIcon(appconf.addpicon), 
+                    "Add Profile")
+        self.addButton.clicked.connect(self.addProfile)
+        self.addButton.setVisible(False)
 
         self.la            = QtGui.QFormLayout()
 
         self.la            = QtGui.QFormLayout()
-        self.la.sizePolicy = QtGui.QSizePolicy.Expanding
+
+        self.la.addRow(self.addButton)
+        self.la.sizePolicy = QtGui.QSizePolicy.Minimum
         self.la.setVerticalSpacing(15)
         self.la.setHorizontalSpacing(15)
         self.formGroupBox = QtGui.QGroupBox("Manage profiles:")
         self.la.setVerticalSpacing(15)
         self.la.setHorizontalSpacing(15)
         self.formGroupBox = QtGui.QGroupBox("Manage profiles:")
@@ -125,7 +131,12 @@ class Gui(QtGui.QDialog):
             delButton.setDefaultAction(delAction)
             self.profiles.append((label, delButton))
 
             delButton.setDefaultAction(delAction)
             self.profiles.append((label, delButton))
 
-        self.sizeHint()
+        #if profiles was empty
+        if len(profiles) == 0:
+            self.addButton.setVisible(True)
+        else:
+            self.addButton.setVisible(False)
+
         super(Gui, self).show()
 
     def hide(self):
         super(Gui, self).show()
 
     def hide(self):
@@ -136,8 +147,8 @@ class Gui(QtGui.QDialog):
 
         for ws in self.profiles:
             for w in ws:
 
         for ws in self.profiles:
             for w in ws:
+                w.setVisible(False)
                 w.setParent(None)
                 w.setParent(None)
-                w.close()
         super(Gui, self).hide()
 
     def createTrayIcon(self):
         super(Gui, self).hide()
 
     def createTrayIcon(self):
@@ -187,7 +198,7 @@ class Gui(QtGui.QDialog):
 
             self.menuProfiles.addSeparator()
             #action and menu item for adding a New Profile
 
             self.menuProfiles.addSeparator()
             #action and menu item for adding a New Profile
-            self.menuProfiles.addAction(self.addProfile)
+            self.menuProfiles.addAction(self.addProfileAction)
 
             self.menuProfiles.activateWindow()
             self.menuProfiles.popup(QtGui.QCursor.pos())
 
             self.menuProfiles.activateWindow()
             self.menuProfiles.popup(QtGui.QCursor.pos())
@@ -211,10 +222,10 @@ class Gui(QtGui.QDialog):
 
         def f():
             try:
 
         def f():
             try:
-                #self.profileManager.delProfile(pr)
+                self.profileManager.delProfile(pr)
                 for w in prWidgets:
                     w.setParent(None)
                 for w in prWidgets:
                     w.setParent(None)
-                    w.close()
+                    w.setVisible(False)
             except AppError, e:
                 self.showError(str(e))
         return f
             except AppError, e:
                 self.showError(str(e))
         return f