Changeset 72 in main for trunk/plugins


Ignore:
Timestamp:
07/06/10 14:54:39 (12 years ago)
Author:
pcosquer
Message:

plugin : dialog for checkin

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/gedit/openplm.py

    r71 r72  
    113113                     _("Check out"), lambda a: self.check_out_cb()), 
    114114                 ("checkin", None, _("Check-in"), None, 
    115                      _("Check-in"), lambda a: self.check_in()), 
     115                     _("Check-in"), lambda a: self.check_in_cb()), 
    116116                 ]) 
    117117        self._action_group2.set_sensitive(False) 
     
    222222            gdoc.set_data("openplm_path", path) 
    223223 
    224     def check_in(self): 
     224    def check_in(self, unlock): 
    225225        gdoc = self._window.get_active_document() 
    226226        doc = gdoc.get_data("openplm_doc") 
     
    236236            request = urllib2.Request(url, datagen, headers) 
    237237            res = self.opener.open(request) 
     238            if not unlock: 
     239                self.get_data("api/object/%s/lock/%s/" % (doc["id"], doc_file_id)) 
    238240        else: 
    239241            # TODO 
     242            print 'can not check in' 
    240243            pass 
    241244 
     245    def check_in_cb(self): 
     246        gdoc = self._window.get_active_document() 
     247        doc = gdoc.get_data("openplm_doc") 
     248        name = os.path.basename(gdoc.get_data("openplm_path")) 
     249        diag = CheckInDialog(self._window, self, doc, name) 
     250        resp = diag.run() 
     251        if resp == gtk.RESPONSE_ACCEPT: 
     252            self.check_in(diag.get_unlocked()) 
     253        diag.destroy() 
     254 
     255 
     256class CheckInDialog(gtk.Dialog): 
     257     
     258    def __init__(self, window, instance, doc, filename): 
     259        super(CheckInDialog, self).__init__(_("Check-in"), window, 
     260                        gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,   
     261                        (gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, 
     262                        "Check-in", gtk.RESPONSE_ACCEPT)) 
     263        self.instance = instance 
     264        label = gtk.Label("%s|%s|%s"% (doc["reference"], doc["revision"], 
     265                                       doc["type"])) 
     266        self.vbox.pack_start(label) 
     267        label2 = gtk.Label(filename) 
     268        self.vbox.pack_start(label2) 
     269        self.unlock_button = gtk.CheckButton("Unlock ?") 
     270        self.vbox.pack_start(self.unlock_button) 
     271        self.vbox.show_all() 
     272 
     273    def get_unlocked(self): 
     274        return self.unlock_button.get_active() 
     275         
     276 
    242277class CheckOutDialog(gtk.Dialog): 
    243278     
    244279    def __init__(self, window, instance): 
    245         super(CheckOutDialog, self).__init__(_("Login"), window, 
     280        super(CheckOutDialog, self).__init__(_("Check-out"), window, 
    246281                        gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,   
    247282                        (gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT)) 
Note: See TracChangeset for help on using the changeset viewer.