def __init__(self):
        DialogBox.__init__(self,
                           _("Task Manager"),
                           350,
                           450,
                           DIALOG_MASK_SINGLE_PAGE,
                           modal=False,
                           close_callback=self.hide_all)

        self.is_changed = False
        scrolled_window = ScrolledWindow(0, 0)
        scrolled_window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)

        scrolled_align = gtk.Alignment()
        scrolled_align.set(1, 1, 1, 1)
        scrolled_align.set_padding(10, 0, 0, 0)
        scrolled_align.add(scrolled_window)

        self.jobs_view = JobsView()
        self.jobs_view.draw_mask = self.get_mask_func(self.jobs_view)
        scrolled_window.add_child(self.jobs_view)

        pause_button = Button(_("Pause"))
        pause_button.connect("clicked", self.pause_job)
        stop_button = Button(_("Close"))
        stop_button.connect("clicked", lambda w: self.hide_all())

        self.body_box.add(scrolled_align)
        self.right_button_box.set_buttons([pause_button, stop_button])

        Dispatcher.connect("transfor-job", self.add_new_job)
    def __init__(self, default_width=300, default_height=160, cancel_cb=None):
        DialogBox.__init__(self, "", default_width, default_height, self.DIALOG_MASK_SINGLE_PAGE)

        self.cancel_cb = cancel_cb

        self.message_align = gtk.Alignment()
        self.message_align.set(0, 0, 0, 0)
        self.message_align.set_padding(0, 0, 10, 0)
        self.message_label = Label("", label_width=300)
        self.message_align.add(self.message_label)
        self.progress_align = gtk.Alignment()
        self.progress_align.set(0, 0, 0, 0)
        self.progress_align.set_padding(20, 0, 10, 10)
        self.progress_bar = ProgressBar()
        self.progress_bar.set_size_request(default_width, -1)
        self.progress_align.add(self.progress_bar)
        self.percentage_align = gtk.Alignment()
        self.percentage_align.set(0, 0, 0, 0)
        self.percentage_align.set_padding(10, 0, 140, 0)
        self.percentage_label = Label("0%", label_width=300)
        self.percentage_label.set_size_request(default_width, -1)
        self.percentage_align.add(self.percentage_label)
        self.cancel_align = gtk.Alignment()
        self.cancel_align.set(0, 0, 0, 0)
        self.cancel_align.set_padding(20, 0, 200, 0)
        self.cancel_button = Button(_("Cancel"))
        self.cancel_button.set_size_request(70, WIDGET_HEIGHT)
        self.cancel_button.connect("clicked", self.__on_cancel_button_clicked)
        self.cancel_align.add(self.cancel_button)

        self.body_box.pack_start(self.message_align, False, False)
        self.body_box.pack_start(self.progress_align, False, False)
        self.body_box.pack_start(self.percentage_align, False, False)
        self.body_box.pack_start(self.cancel_align)
    def __init__(self, message, default_width=300, default_height=140, is_succeed=True):
        DialogBox.__init__(self, "", default_width, default_height, self.DIALOG_MASK_SINGLE_PAGE)

        self.hbox = gtk.HBox()
        self.image_align = gtk.Alignment()
        self.image_align.set(0, 0, 0, 0)
        self.image_align.set_padding(0, 0, 20, 0)
        self.image_box = ImageBox(app_theme.get_pixbuf("bluetooth/succeed.png"))
        if not is_succeed:
            self.image_box = ImageBox(app_theme.get_pixbuf("bluetooth/failed.png"))
        self.image_align.add(self.image_box)
        self.message_align = gtk.Alignment()
        self.message_align.set(0, 0, 0, 0)
        self.message_align.set_padding(20, 0, 10, 0)
        if not is_succeed:
            self.message_align.set_padding(0, 0, 10, 0)
        self.message_label = Label(message, wrap_width = 200)
        self.message_align.add(self.message_label)
        self.hbox.pack_start(self.image_align)
        self.hbox.pack_start(self.message_align)
        self.confirm_align = gtk.Alignment()
        self.confirm_align.set(0, 0, 0, 0)
        self.confirm_align.set_padding(20, 0, 200, 0)
        self.confirm_button = Button(_("Ok"))
        self.confirm_button.set_size_request(70, WIDGET_HEIGHT)
        self.confirm_button.connect("clicked", lambda widget : self.destroy())
        self.confirm_align.add(self.confirm_button)

        self.body_box.pack_start(self.hbox, False, False)
        self.body_box.pack_start(self.confirm_align, False, False)
    def __init__(self,
                 title,
                 message,
                 default_width=400,
                 default_height=220,
                 confirm_callback=None,
                 cancel_callback=None,
                 confirm_button_text="Yes",
                 cancel_button_text="No"):
        DialogBox.__init__(self, "", default_width, default_height, DIALOG_MASK_SINGLE_PAGE)
        self.confirm_callback = confirm_callback
        self.cancel_callback = cancel_callback

        self.title_align = gtk.Alignment()
        self.title_align.set(0, 0, 0, 0)
        self.title_align.set_padding(0, 0, FRAME_LEFT_PADDING, 8)
        self.title_label = Label(title, wrap_width=300)

        self.label_align = gtk.Alignment()
        self.label_align.set(0.5, 0.5, 0, 0)
        self.label_align.set_padding(0, 0, 8, 8)
        self.label = Label(message, text_x_align=ALIGN_MIDDLE, text_size=55)

        self.confirm_button = Button(confirm_button_text)
        self.cancel_button = Button(cancel_button_text)

        self.confirm_button.connect("clicked", lambda w: self.click_confirm_button())
        self.cancel_button.connect("clicked", lambda w: self.click_cancel_button())

        self.body_box.pack_start(self.title_align, False, False)
        self.title_align.add(self.title_label)
        self.body_box.pack_start(self.label_align, True, True)
        self.label_align.add(self.label)

        self.right_button_box.set_buttons([self.cancel_button, self.confirm_button])
Exemple #5
0
    def __init__(self, confirm_callback=None):
        DialogBox.__init__(self, 
                           title=_("Close"),
                           default_width=360,
                           default_height=145,
                           mask_type=DIALOG_MASK_SINGLE_PAGE,
                           )
        
        self.confirm_callback = confirm_callback
        radio_group = gtk.HBox(spacing=50)
        self.minimize_radio = RadioButton(_("Minimize to tray"))
        self.minimize_radio.set_active(True)
        self.quit_radio = RadioButton(_("Quit"))
        
        radio_group.pack_start(self.minimize_radio, False, True)
        radio_group.pack_start(self.quit_radio, False, True)
        self.remembar_button = CheckButton(_("Don't prompt again"))
        self.remembar_button.set_active(True)
        
        radio_group_align = gtk.Alignment()
        radio_group_align.set_padding(30, 0, 10, 0)
        radio_group_align.add(radio_group)
                
        confirm_button = Button(_("OK"))
        confirm_button.connect("clicked", self.on_confirm_button_clicked)

        cancel_button = Button(_("Cancel"))
        cancel_button.connect("clicked", self.on_cancel_button_clicked)        
        
        # Connect widgets.
        self.body_box.pack_start(radio_group_align, False, True)
        self.left_button_box.set_buttons([self.remembar_button,])
        self.right_button_box.set_buttons([confirm_button, cancel_button])
 def __init__(self):
     DialogBox.__init__(self, _("Search"), 460, 300, DIALOG_MASK_SINGLE_PAGE,
                        modal=False, window_hint=None, close_callback=self.hide_all)
     title_label = Label(_("Title:"))
     self.title_entry = TextEntry("")
     self.title_entry.set_size(300, 25)
     self.search_button = Button(_("Search"))
     self.search_button.connect("clicked", self.search_song)
     
     control_box = gtk.HBox(spacing=5)
     control_box.pack_start(title_label, False, False)
     control_box.pack_start(self.title_entry, False, False)
     control_box.pack_start(self.search_button, False, False)
     
     scrolled_window = ScrolledWindow(0, 0)
     scrolled_window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
     self.result_view = ListView()
     self.result_view.connect("double-click-item", self.double_click_cb)
     self.result_view.draw_mask = self.get_mask_func(self.result_view)
     self.result_view.add_titles([_("Title"), _("Artist"), _("Album"), _("Type"), _("Size")])
     scrolled_window.add_child(self.result_view)
     
     self.prompt_label = Label("")
     download_button = Button(_("Download"))
     download_button.connect("clicked", self.download_song)
     cancel_button = Button(_("Close"))
     cancel_button.connect("clicked", lambda w: self.hide_all())
     
     self.body_box.set_spacing(5)
     self.body_box.pack_start(control_box, False, False)
     self.body_box.pack_start(scrolled_window, True, True)
     self.left_button_box.set_buttons([self.prompt_label])
     self.right_button_box.set_buttons([download_button, cancel_button])
 def __init__(self):
     DialogBox.__init__(self, _("Task Manager"), 350, 450, DIALOG_MASK_SINGLE_PAGE,
                        modal=False, close_callback=self.hide_all)
     
     self.is_changed = False
     scrolled_window = ScrolledWindow(0, 0)
     scrolled_window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
     
     scrolled_align = gtk.Alignment()
     scrolled_align.set(1, 1, 1, 1)
     scrolled_align.set_padding(10, 0, 0, 0)
     scrolled_align.add(scrolled_window)
     
     self.jobs_view = JobsView()
     self.jobs_view.draw_mask = self.get_mask_func(self.jobs_view)
     scrolled_window.add_child(self.jobs_view)
     
     pause_button = Button(_("Pause"))
     pause_button.connect("clicked", self.pause_job)
     stop_button = Button(_("Close"))
     stop_button.connect("clicked", lambda w: self.hide_all())
     
     self.body_box.add(scrolled_align)
     self.right_button_box.set_buttons([pause_button, stop_button])
     
     Dispatcher.connect("transfor-job", self.add_new_job)
Exemple #8
0
    def __init__(
        self,
        title,
        message,
        default_width=330,
        default_height=145,
        confirm_callback=None,
        cancel_callback=None,
        cancel_first=True,
        message_text_size=9,
    ):
        '''
        Initialize ConfirmDialog class.

        @param title: Title for confirm dialog.
        @param message: Confirm message.
        @param default_width: Dialog width, default is 330 pixel.
        @param default_height: Dialog height, default is 145 pixel.
        @param confirm_callback: Callback when user click confirm button.
        @param cancel_callback: Callback when user click cancel button.
        @param cancel_first: Set as True if to make cancel button before confirm button, default is True.
        @param message_text_size: Text size of message, default is 11.
        '''
        # Init.
        DialogBox.__init__(self,
                           title,
                           default_width,
                           default_height,
                           DIALOG_MASK_SINGLE_PAGE,
                           close_callback=self.hide)
        self.confirm_callback = confirm_callback
        self.cancel_callback = cancel_callback

        self.label_align = gtk.Alignment()
        self.label_align.set(0.5, 0.5, 0, 0)
        self.label_align.set_padding(0, 0, 8, 8)
        self.label = Label(message,
                           text_x_align=ALIGN_MIDDLE,
                           text_size=message_text_size)

        self.confirm_button = Button(_("OK"))
        self.cancel_button = Button(_("Cancel"))

        self.confirm_button.connect("clicked",
                                    lambda w: self.click_confirm_button())
        self.cancel_button.connect("clicked",
                                   lambda w: self.click_cancel_button())

        # Connect widgets.
        self.body_box.pack_start(self.label_align, True, True)
        self.label_align.add(self.label)

        if cancel_first:
            self.right_button_box.set_buttons(
                [self.cancel_button, self.confirm_button])
        else:
            self.right_button_box.set_buttons(
                [self.confirm_button, self.cancel_button])
Exemple #9
0
 def __init__(self):
     DialogBox.__init__(
         self, _("Lyrics search"), 460, 300, DIALOG_MASK_MULTIPLE_PAGE, close_callback=self.hide_all, 
         modal=False, window_hint=None, skip_taskbar_hint=False, window_pos=gtk.WIN_POS_CENTER)
     
     self.artist_entry = InputEntry()
     self.artist_entry.set_size(130, 23)
     self.title_entry = InputEntry()
     self.title_entry.set_size(130, 23)
     artist_label = Label(_("Artist:"))
     title_label = Label(_("Title:"))
     right_align = gtk.Alignment()
     right_align.set(0, 0, 0, 1)
     
     self.search_button = Button(_("Search"))
     self.search_button.connect("clicked", self.search_lyric_cb)
     self.process_id = 0
     
     info_box = gtk.HBox(spacing=25)
     
     control_box = gtk.HBox(spacing=5)
     title_box = gtk.HBox(spacing=5)        
     title_box.pack_start(title_label, False, False)
     title_box.pack_start(self.title_entry)
     artist_box = gtk.HBox(spacing=5)
     artist_box.pack_start(artist_label, False, False)
     artist_box.pack_start(self.artist_entry)
     control_box.pack_start(title_box, False, False)
     control_box.pack_start(artist_box, False, False)
     
     info_box.pack_start(control_box, False, False)
     info_box.pack_start(self.search_button, False, False)
     
     sort_items = [ lambda items, reverse : self.sort_by_key(items, reverse, "title"),
                    lambda items, reverse : self.sort_by_key(items, reverse, "artist")]
     self.result_view = TreeView()
     self.result_view.set_expand_column(0)
     self.result_view.connect("double-click-item", self.double_click_cb)
     self.result_view.set_column_titles([_("Title"), _("Artist")], sort_items)
     self.result_view.draw_mask = self.draw_view_mask
     
     self.prompt_label = Label("")
     download_button = Button(_("Download"))
     download_button.connect("clicked", self.download_lyric_cb)
     cancel_button = Button(_("Close"))
     cancel_button.connect("clicked", lambda w: self.hide_all())
     
     info_box_align = gtk.Alignment()
     info_box_align.set_padding(5, 0, 5, 0)
     info_box_align.add(info_box)
     
     self.body_box.set_spacing(5)
     self.body_box.pack_start(info_box_align, False, False)
     self.body_box.pack_start(self.result_view, True, True)
     self.left_button_box.set_buttons([self.prompt_label])
     self.right_button_box.set_buttons([download_button, cancel_button])
     self.lrc_manager = LrcManager()
 def __init__(self):
     DialogBox.__init__(
         self, _("Lyrics search"), 460, 300, DIALOG_MASK_MULTIPLE_PAGE, close_callback=self.hide_all, 
         modal=False, window_hint=None, skip_taskbar_hint=False)
     self.artist_entry = InputEntry()
     self.artist_entry.set_size(130, 23)
     self.title_entry = InputEntry()
     self.title_entry.set_size(130, 23)
     artist_label = Label(_("Artist:"))
     title_label = Label(_("Title:"))
     right_align = gtk.Alignment()
     right_align.set(0, 0, 0, 1)
     
     search_button = Button(_("Search"))
     search_button.connect("clicked", self.search_lyric_cb)
     
     info_box = gtk.HBox(spacing=25)
     
     control_box = gtk.HBox(spacing=5)
     title_box = gtk.HBox(spacing=5)        
     title_box.pack_start(title_label, False, False)
     title_box.pack_start(self.title_entry)
     artist_box = gtk.HBox(spacing=5)
     artist_box.pack_start(artist_label, False, False)
     artist_box.pack_start(self.artist_entry)
     control_box.pack_start(title_box, False, False)
     control_box.pack_start(artist_box, False, False)
     
     info_box.pack_start(control_box, False, False)
     info_box.pack_start(search_button, False, False)
     
     scrolled_window = ScrolledWindow(0, 0)
     scrolled_window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
     sort_items = [(lambda item: item.title, cmp), (lambda item: item.artist, cmp)]
     self.result_view = ListView(sort_items)
     self.result_view.connect("double-click-item", self.double_click_cb)
     self.result_view.add_titles([_("Title"), _("Artist")])
     self.result_view.draw_mask = self.get_mask_func(self.result_view)
     scrolled_window.add_child(self.result_view)
     
     self.prompt_label = Label("")
     download_button = Button(_("Download"))
     download_button.connect("clicked", self.download_lyric_cb)
     cancel_button = Button(_("Close"))
     cancel_button.connect("clicked", lambda w: self.hide_all())
     
     info_box_align = gtk.Alignment()
     info_box_align.set_padding(5, 0, 5, 0)
     info_box_align.add(info_box)
     
     self.body_box.set_spacing(5)
     self.body_box.pack_start(info_box_align, False, False)
     self.body_box.pack_start(scrolled_window, True, True)
     self.left_button_box.set_buttons([self.prompt_label])
     self.right_button_box.set_buttons([download_button, cancel_button])
     self.lrc_manager = LrcManager()
Exemple #11
0
    def __init__(self,
                 default_width=350,
                 default_height=160,
                 confirm_callback=None,
                 cancel_callback=None):
        '''
        Initialize InputDialog class.
        
        @param title: Input dialog title.
        @param init_text: Initialize input text.
        @param default_width: Width of dialog, default is 330 pixel.
        @param default_height: Height of dialog, default is 330 pixel.
        @param confirm_callback: Callback when user click confirm button, this callback accept one argument that return by user input text.
        @param cancel_callback: Callback when user click cancel button, this callback not need argument.
        '''
        # Init.
        DialogBox.__init__(self, _("Autostart app"), default_width,
                           default_height, DIALOG_MASK_SINGLE_PAGE)
        self.confirm_callback = confirm_callback
        self.cancel_callback = cancel_callback
        self.on_click = None

        self.confirm_button = Button(_("OK"))
        self.cancel_button = Button(_("Cancel"))

        self.confirm_button.connect("clicked",
                                    lambda w: self.click_confirm_button())
        self.cancel_button.connect("clicked",
                                   lambda w: self.click_cancel_button())
        self.connect(
            "destroy", self._close_callback
        )  #self.close_callback is None at this moment, so we use _close_callback
        # get system pixbuf
        icon_theme = gtk.IconTheme()
        icon_theme.set_custom_theme("Deepin")
        icon_info = None
        if icon_theme:
            icon_info = icon_theme.lookup_icon("folder-open", 16,
                                               gtk.ICON_LOOKUP_NO_SVG)

        self.icon_pixbuf = None
        if icon_info:
            self.icon_pixbuf = DynamicPixbuf(icon_info.get_filename())
        else:
            self.icon_pixbuf = app_theme.get_pixbuf("navigate/none-small.png")

        table = self.add_new_box()
        self.pack(self.body_box, [table])
        self.right_button_box.set_buttons(
            [self.cancel_button, self.confirm_button])

        self.connect("show", self.focus_input)
 def __init__(self):
     DialogBox.__init__(self, "MV", 980, 600, DIALOG_MASK_MULTIPLE_PAGE, 
                        close_callback=self.hide_all, modal=False,
                        window_hint=None, skip_taskbar_hint=False,
                        window_pos=gtk.WIN_POS_CENTER)
     
     self.url = "http://musicmini.baidu.com/app/mv/playMV.html"
     self.webview = BaseWebView("", enable_plugins=False)
     webview_align = gtk.Alignment()
     webview_align.set(1, 1, 1, 1)
     webview_align.set_padding(0, 0, 0, 2)
     webview_align.add(self.webview)
     self.body_box.pack_start(webview_align, False, True)
 def __init__(self):
     DialogBox.__init__(self, "登录", 645, 500, DIALOG_MASK_MULTIPLE_PAGE, 
                        close_callback=self.hide_all, modal=False,
                        window_hint=None, skip_taskbar_hint=False,
                        window_pos=gtk.WIN_POS_CENTER)
     
     self.url = "http://musicmini.baidu.com/app/mv/playMV.html"
     self.webview = BaseWebView("", enable_plugins=True)
     webview_align = gtk.Alignment()
     webview_align.set(1, 1, 1, 1)
     webview_align.set_padding(0, 0, 0, 2)
     webview_align.add(self.webview)
     self.body_box.pack_start(webview_align, False, True)
 def __init__(self):
     DialogBox.__init__(self, "登录", 326, 340, DIALOG_MASK_MULTIPLE_PAGE, 
                        close_callback=self.hide_all, modal=False,
                        window_hint=None, skip_taskbar_hint=False,
                        window_pos=gtk.WIN_POS_CENTER)
     
     self.set_keep_above(True)
     self.is_reload_flag = False
     self.webview = BaseWebView("http://musicmini.baidu.com/app/passport/passport_phoenix.html")
     webview_align = gtk.Alignment()
     webview_align.set(1, 1, 1, 1)
     webview_align.set_padding(0, 0, 0, 2)
     webview_align.add(self.webview)
     self.body_box.pack_start(webview_align, False, True)
 def __init__(self):
     DialogBox.__init__(self, 
                        _("Task Manager for format conversion"), 
                        FORM_WIDTH, FORM_HEIGHT, 
                        mask_type=DIALOG_MASK_SINGLE_PAGE, #DIALOG_MASK_MULTIPLE_PAGE,
                        close_callback=self.hide_all,
                        modal=True,
                        window_hint=gtk.gdk.WINDOW_TYPE_HINT_DIALOG,
                        window_pos=gtk.WIN_POS_CENTER,
                        resizable=False,
                        )
     self.init_widgets()
     # add widgets.
     self.body_box.pack_start(self.scrolled_window, False, False)
    def __init__(self):
        DialogBox.__init__(self, "登录", 700, 700, DIALOG_MASK_MULTIPLE_PAGE,
                close_callback=self.hide_all, modal=False,
                window_hint=None, skip_taskbar_hint=False,
                window_pos=gtk.WIN_POS_CENTER)

        #self.set_keep_above(True)
        #self.is_reload_flag = False
        self.webview = BaseWebView("")
        webview_align = gtk.Alignment()
        webview_align.set(1, 1, 1, 1)
        webview_align.set_padding(0, 0, 0, 2)
        webview_align.add(self.webview)
        self.body_box.pack_start(webview_align, False, True)
 def __init__(self):
     DialogBox.__init__(self, "登录", 326, 340, DIALOG_MASK_MULTIPLE_PAGE, 
                        close_callback=self.hide_all, modal=False,
                        window_hint=None, skip_taskbar_hint=False,
                        window_pos=gtk.WIN_POS_CENTER)
     
     self.set_keep_above(True)
     self.is_reload_flag = False
     self.webview = BaseWebView("http://musicmini.baidu.com/app/passport/passport_phoenix.html")
     webview_align = gtk.Alignment()
     webview_align.set(1, 1, 1, 1)
     webview_align.set_padding(0, 0, 0, 2)
     webview_align.add(self.webview)
     self.body_box.pack_start(webview_align, False, True)
 def __init__(self):
     DialogBox.__init__(self, 
                        _("Convert"), 
                        FORM_WIDTH, FORM_HEIGHT, 
                        mask_type=DIALOG_MASK_SINGLE_PAGE,
                        close_callback=self.hide_all,
                        modal=True,                           
                        window_hint=gtk.gdk.WINDOW_TYPE_HINT_DIALOG,
                        window_pos=gtk.WIN_POS_CENTER,
                        # skip_taskbar_hint=False,
                        resizable=False,
                        )                        
     # Init value.
     self.init_value()
     # Init all widgets.
     self.InitializeComponent()
    def __init__(self, url=None):
        DialogBox.__init__(self, "登录", 600, 385, DIALOG_MASK_MULTIPLE_PAGE,
                close_callback=self.hide_all, modal=False,
                window_hint=None, skip_taskbar_hint=False,
                window_pos=gtk.WIN_POS_CENTER)

        #self.set_keep_above(True)
        #self.is_reload_flag = False
        self.webview = BaseWebView(url)
        self.webview.connect("notify::load-status",
                self.handle_login_dialog_status)
        webview_align = gtk.Alignment()
        webview_align.set(1, 1, 1, 1)
        webview_align.set_padding(0, 0, 0, 2)
        webview_align.add(self.webview)
        self.body_box.pack_start(webview_align, False, True)
    def __init__(self, url=None):
        DialogBox.__init__(self, "登录", 600, 385, DIALOG_MASK_MULTIPLE_PAGE,
                close_callback=self.hide_all, modal=False,
                window_hint=None, skip_taskbar_hint=False,
                window_pos=gtk.WIN_POS_CENTER)

        #self.set_keep_above(True)
        #self.is_reload_flag = False
        self.webview = BaseWebView(url)
        self.webview.connect("notify::load-status",
                self.handle_login_dialog_status)
        webview_align = gtk.Alignment()
        webview_align.set(1, 1, 1, 1)
        webview_align.set_padding(0, 0, 0, 2)
        webview_align.add(self.webview)
        self.body_box.pack_start(webview_align, False, True)
 def __init__(self,
              default_width=350,
              default_height=160,
              confirm_callback=None, 
              cancel_callback=None):
     '''
     Initialize InputDialog class.
     
     @param title: Input dialog title.
     @param init_text: Initialize input text.
     @param default_width: Width of dialog, default is 330 pixel.
     @param default_height: Height of dialog, default is 330 pixel.
     @param confirm_callback: Callback when user click confirm button, this callback accept one argument that return by user input text.
     @param cancel_callback: Callback when user click cancel button, this callback not need argument.
     '''
     # Init.
     DialogBox.__init__(self, _("Autostart app"), default_width, default_height, DIALOG_MASK_SINGLE_PAGE)
     self.confirm_callback = confirm_callback
     self.cancel_callback = cancel_callback
     self.on_click = None
     
     self.confirm_button = Button(_("OK"))
     self.cancel_button = Button(_("Cancel"))
     
     self.confirm_button.connect("clicked", lambda w: self.click_confirm_button())
     self.cancel_button.connect("clicked", lambda w: self.click_cancel_button())
     self.connect("destroy", self._close_callback) #self.close_callback is None at this moment, so we use _close_callback
     # get system pixbuf
     icon_theme = gtk.IconTheme()
     icon_theme.set_custom_theme("Deepin")
     icon_info = None
     if icon_theme:
         icon_info = icon_theme.lookup_icon("folder-open", 16, gtk.ICON_LOOKUP_NO_SVG)
     
     
     self.icon_pixbuf = None
     if icon_info:
         self.icon_pixbuf = DynamicPixbuf(icon_info.get_filename())
     else:
         self.icon_pixbuf = app_theme.get_pixbuf("navigate/none-small.png")
     
     table = self.add_new_box() 
     self.pack(self.body_box, [table])
     self.right_button_box.set_buttons([self.cancel_button, self.confirm_button])
     
     self.connect("show", self.focus_input)
 def __init__(self, 
              title, 
              message, 
              default_width=330,
              default_height=145,
              confirm_callback=None, 
              cancel_callback=None, 
              cancel_first=True, 
              message_text_size=9,
              ):
     '''
     Initialize ConfirmDialog class.
     
     @param title: Title for confirm dialog.
     @param message: Confirm message.
     @param default_width: Dialog width, default is 330 pixel.
     @param default_height: Dialog height, default is 145 pixel.
     @param confirm_callback: Callback when user click confirm button.
     @param cancel_callback: Callback when user click cancel button.
     @param cancel_first: Set as True if to make cancel button before confirm button, default is True.
     @param message_text_size: Text size of message, default is 11.
     '''
     # Init.
     DialogBox.__init__(self, title, default_width, default_height, DIALOG_MASK_SINGLE_PAGE, close_callback=self.hide)
     self.confirm_callback = confirm_callback
     self.cancel_callback = cancel_callback
     
     self.label_align = gtk.Alignment()
     self.label_align.set(0.5, 0.5, 0, 0)
     self.label_align.set_padding(0, 0, 8, 8)
     self.label = Label(message, text_x_align=ALIGN_MIDDLE, text_size=message_text_size)
     
     self.confirm_button = Button(_("OK"))
     self.cancel_button = Button(_("Cancel"))
     
     self.confirm_button.connect("clicked", lambda w: self.click_confirm_button())
     self.cancel_button.connect("clicked", lambda w: self.click_cancel_button())
     
     # Connect widgets.
     self.body_box.pack_start(self.label_align, True, True)
     self.label_align.add(self.label)
     
     if cancel_first:
         self.right_button_box.set_buttons([self.cancel_button, self.confirm_button])
     else:
         self.right_button_box.set_buttons([self.confirm_button, self.cancel_button])
 def __init__(self, 
              title, 
              message, 
              default_width=330,
              default_height=145,
              confirm_callback=None, 
              cancel_callback=None, 
              cancel_first=True, 
              message_text_size=11,
              window_type=gtk.WINDOW_TOPLEVEL,
              close_callback=None,
              text_wrap_width=330,
              text_x_align=ALIGN_START,
              ):
     DialogBox.__init__(
         self, title, default_width, default_height, DIALOG_MASK_SINGLE_PAGE,
         window_type=window_type,
         close_callback=close_callback,
         )
     self.confirm_callback = confirm_callback
     self.cancel_callback = cancel_callback
     
     self.label_align = gtk.Alignment()
     self.label_align.set(0.5, 0.5, 0, 0)
     self.label_align.set_padding(0, 0, 8, 8)
     self.label = Label(
         message, 
         text_x_align=text_x_align, 
         text_size=message_text_size,
         wrap_width=text_wrap_width,
         )
     
     self.confirm_button = Button(_("OK"))
     
     self.confirm_button.connect("clicked", lambda w: self.click_confirm_button())
     
     # Connect widgets.
     self.label_align.add(self.label)
     self.body_box.pack_start(self.label_align, True, True)
     
     self.right_button_box.set_buttons([self.confirm_button,])
         
     self.keymap = {
         "Return" : self.click_confirm_button,
         "Escape" : self.close,
         }    
    def __init__(self, hide_callback=None):
        self.hide_callback = hide_callback
        self.dialog_width = 330
        DialogBox.__init__(
            self,
            title="",
            default_width=self.dialog_width,
            default_height=145,
            mask_type=0,
            close_callback=self.close_action,
            modal=True,
            window_hint=gtk.gdk.WINDOW_TYPE_HINT_DIALOG,
            window_pos=None,
            skip_taskbar_hint=True,
            resizable=False,
            window_type=gtk.WINDOW_TOPLEVEL,
        )

        self.waiting_animation = gtk.VBox()
        self.waiting_animation.set_size_request(36, 36)
        self.waiting_bg_pixbuf = utils.get_common_image_pixbuf(
            "waiting/waiting_bg.png")
        self.waiting_fg_pixbuf = utils.get_common_image_pixbuf(
            "waiting/waiting_fg.png")
        self.waiting_animation.connect("expose-event", self.expose_waiting)
        self.counter = 1
        self.factor = math.pi / 10
        gtk.timeout_add(50, self.on_timer)

        self.label = Label(
            _("Speed testing will finish only after one minute, please wait."),
            text_size=10,
            wrap_width=self.dialog_width - 36 - 60,
        )

        self.waiting_hbox = gtk.HBox()
        self.waiting_hbox.pack_start(self.waiting_animation, False, False)
        self.waiting_hbox.pack_start(self.label, False, False)

        self.center_align = gtk.Alignment()
        self.center_align.set(0.5, 0.5, 0, 0)
        self.center_align.set_padding(0, 0, 8, 8)
        self.body_box.add(self.center_align)

        global_event.register_event("mirror-test-finished", self.show_result)
 def __init__(self):
     DialogBox.__init__(
         self,
         _("Convert"),
         FORM_WIDTH,
         FORM_HEIGHT,
         mask_type=DIALOG_MASK_SINGLE_PAGE,
         close_callback=self.hide_all,
         modal=True,
         window_hint=gtk.gdk.WINDOW_TYPE_HINT_DIALOG,
         window_pos=gtk.WIN_POS_CENTER,
         # skip_taskbar_hint=False,
         resizable=False,
     )
     # Init value.
     self.init_value()
     # Init all widgets.
     self.InitializeComponent()
 def __init__(self, songs=None):
     DialogBox.__init__(self, _("Convert"), 385, 200, DIALOG_MASK_SINGLE_PAGE,
                        modal=True)
     
     self.songs = songs or [Player.song]
     default_format = "MP3 (CBR)"
     default_index = FORMATS.keys().index(default_format)
     format_box, self.format_combo_box = self.create_combo_widget(_("Format"),
                                                             [(key, None) for key in FORMATS.keys()],
                                                             default_index)
     quality_box, self.quality_combo_box = self.create_combo_widget(_("Quality"),
                                                                    self.get_quality_items(default_format),
                                                                    self.get_quality_index(default_format),
                                                                    65)
     format_quality_box = gtk.HBox(spacing=68)
     format_quality_box.pack_start(format_box, False, False)
     format_quality_box.pack_start(quality_box, False, False)
     
     exists_box, self.exists_combo_box = self.create_combo_widget(_("Target file already exists"),
                                                             [(_("Ask"), True), (_("Cover"), False)],
                                                             0)
     
     start_button = Button(_("Start"))
     close_button = Button(_("Close"))
     self.add_check_button = CheckButton(_("Add to Playlist when finished"), padding_x=2)
     
     main_table = gtk.Table()
     main_table.set_row_spacings(10)
     main_table.attach(format_quality_box, 0, 2, 0, 1, yoptions=gtk.FILL)
     main_table.attach(set_widget_left(exists_box), 0, 2, 1, 2, yoptions=gtk.FILL)
     main_table.attach(self.create_output_box(), 0, 2, 2, 3, yoptions=gtk.FILL)
     main_table.attach(set_widget_left(self.add_check_button), 0, 2, 3, 4, yoptions=gtk.FILL)
     
     main_align = gtk.Alignment()
     main_align.set_padding(10, 10, 15, 10)
     main_align.add(main_table)
     
     # Connect signals.
     self.format_combo_box.connect("item-selected", self.reset_quality_items)
     start_button.connect("clicked", self.add_and_close)
     close_button.connect("clicked", lambda w: self.destroy())
     
     self.body_box.pack_start(main_align, False, True)
     self.right_button_box.set_buttons([start_button, close_button])
 def __init__(self, songs=None):
     DialogBox.__init__(self, _("Converter"), 385, 200, DIALOG_MASK_SINGLE_PAGE,
                        modal=True)
     
     self.songs = songs or [Player.song]
     default_format = "MP3 (CBR)"
     default_index = FORMATS.keys().index(default_format)
     format_box, self.format_combo_box = self.create_combo_widget(_("Format"),
                                                             [(key, None) for key in FORMATS.keys()],
                                                             default_index)
     quality_box, self.quality_combo_box = self.create_combo_widget(_("Quality"),
                                                                    self.get_quality_items(default_format),
                                                                    self.get_quality_index(default_format),
                                                                    65)
     format_quality_box = gtk.HBox(spacing=68)
     format_quality_box.pack_start(format_box, False, False)
     format_quality_box.pack_start(quality_box, False, False)
     
     exists_box, self.exists_combo_box = self.create_combo_widget(_("Target file already exists"),
                                                             [(_("Ask"), True), (_("Cover"), False)],
                                                             0)
     
     start_button = Button(_("Start"))
     close_button = Button(_("Close"))
     self.add_check_button = CheckButton(_("Add to Playlist after finished"), padding_x=2)
     
     main_table = gtk.Table()
     main_table.set_row_spacings(10)
     main_table.attach(format_quality_box, 0, 2, 0, 1, yoptions=gtk.FILL)
     main_table.attach(set_widget_left(exists_box), 0, 2, 1, 2, yoptions=gtk.FILL)
     main_table.attach(self.create_output_box(), 0, 2, 2, 3, yoptions=gtk.FILL)
     main_table.attach(set_widget_left(self.add_check_button), 0, 2, 3, 4, yoptions=gtk.FILL)
     
     main_align = gtk.Alignment()
     main_align.set_padding(10, 10, 15, 10)
     main_align.add(main_table)
     
     # Connect signals.
     self.format_combo_box.connect("item-selected", self.reset_quality_items)
     start_button.connect("clicked", self.add_and_close)
     close_button.connect("clicked", lambda w: self.destroy())
     
     self.body_box.pack_start(main_align, False, True)
     self.right_button_box.set_buttons([start_button, close_button])
    def __init__(self, hide_callback=None):
        self.hide_callback = hide_callback
        self.dialog_width = 330
        DialogBox.__init__(
                self,
                title="",
                default_width=self.dialog_width,
                default_height=145,
                mask_type=0,
                close_callback=self.close_action,
                modal=True,
                window_hint=gtk.gdk.WINDOW_TYPE_HINT_DIALOG,
                window_pos=None,
                skip_taskbar_hint=True,
                resizable=False,
                window_type=gtk.WINDOW_TOPLEVEL,
                )

        self.waiting_animation = gtk.VBox()
        self.waiting_animation.set_size_request(36, 36)
        self.waiting_bg_pixbuf = utils.get_common_image_pixbuf("waiting/waiting_bg.png")
        self.waiting_fg_pixbuf = utils.get_common_image_pixbuf("waiting/waiting_fg.png")
        self.waiting_animation.connect("expose-event", self.expose_waiting)
        self.counter = 1
        self.factor = math.pi/10
        gtk.timeout_add(50, self.on_timer)

        self.label = Label(
            _("Speed testing will finish only after one minute, please wait."),
            text_size=10,
            wrap_width=self.dialog_width- 36 - 60,
            )

        self.waiting_hbox = gtk.HBox()
        self.waiting_hbox.pack_start(self.waiting_animation, False, False)
        self.waiting_hbox.pack_start(self.label, False, False)

        self.center_align = gtk.Alignment()
        self.center_align.set(0.5, 0.5, 0, 0)
        self.center_align.set_padding(0, 0, 8, 8)
        self.body_box.add(self.center_align)

        global_event.register_event("mirror-test-finished", self.show_result)
 def __init__(self):
     DialogBox.__init__(self, _("Open Url"),
             mask_type=DIALOG_MASK_MULTIPLE_PAGE,
             window_pos=gtk.WIN_POS_CENTER
             )
     self.hbox_ali = gtk.Alignment(0, 0, 1, 1)
     self.hbox_ali.set_padding(5, 5, 5, 5)
     self.hbox = gtk.HBox()
     self.hbox_ali.add(self.hbox)
     self.url_text = InputEntry()
     self.ok_btn = Button(_("Ok"))
     self.cancel_btn = Button(_("Cancel"))
     self.url_text.set_size(280, 25)
     self.hbox.pack_start(self.url_text, True, True)
     #self.hbox.pack_start(self.ok_btn, True, True, 5)
     self.right_button_box.set_buttons([self.ok_btn, self.cancel_btn])
     #
     self.body_box.pack_start(self.hbox_ali, True, True)
     #
     self.cancel_btn.connect("clicked", self.__cancel_btn_clicked_event)
Exemple #30
0
    def __init__(self):
        DialogBox.__init__(self,
                           "登录",
                           700,
                           700,
                           DIALOG_MASK_MULTIPLE_PAGE,
                           close_callback=self.hide_all,
                           modal=False,
                           window_hint=None,
                           skip_taskbar_hint=False,
                           window_pos=gtk.WIN_POS_CENTER)

        #self.set_keep_above(True)
        #self.is_reload_flag = False
        self.webview = BaseWebView("")
        webview_align = gtk.Alignment()
        webview_align.set(1, 1, 1, 1)
        webview_align.set_padding(0, 0, 0, 2)
        webview_align.add(self.webview)
        self.body_box.pack_start(webview_align, False, True)
    def __init__(self, title, info_message, cancel_callback=None):
        DialogBox.__init__(self, 
                title, 
                mask_type=DIALOG_MASK_SINGLE_PAGE, 
                close_callback=self.dialog_close_action)
        self.set_size_request(-1, -1)
        self.set_position(gtk.WIN_POS_CENTER_ON_PARENT)

        self.loading_widget = Loading() 
        loading_widget_align = gtk.Alignment()
        loading_widget_align.set(0.5, 0.5, 0, 0)
        loading_widget_align.set_padding(padding_top=0, padding_bottom=0, padding_left=0, padding_right=8)
        loading_widget_align.add(self.loading_widget)

        self.info_message_label = Label(info_message, enable_select=False, wrap_width=200, text_size=10)
        info_message_align = gtk.Alignment()
        info_message_align.set(0.5, 0.5, 0, 0)
        info_message_align.add(self.info_message_label)

        outer_align = gtk.Alignment()
        outer_align.set(0.5, 0.5, 0, 0)
        outer_align.set_padding(padding_top=10, padding_bottom=10, padding_left=25, padding_right=25)

        outer_hbox = gtk.HBox()
        outer_hbox.pack_start(loading_widget_align, False, False)
        outer_hbox.pack_start(info_message_align, False, False)
        outer_align.add(outer_hbox)

        self.close_button = Button(_("Cancel"))
        if cancel_callback:
            self.close_button.connect("clicked", cancel_callback)
        else:
            self.close_button.connect("clicked", lambda w: self.hide_all())

        self.body_box.pack_start(outer_align, False, False)
        self.right_button_box.set_buttons([self.close_button])
    def __init__(
        self,
        connection,
        ssid,
        key_mgmt=None,
        default_width=330,
        default_height=120,
        confirm_callback=None,
        cancel_callback=None,
    ):
        '''
        Initialize InputDialog class.
        
        @param title: Input dialog title.
        @param init_text: Initialize input text.
        @param default_width: Width of dialog, default is 330 pixel.
        @param default_height: Height of dialog, default is 330 pixel.
        @param confirm_callback: Callback when user click confirm button, this callback accept one argument that return by user input text.
        @param cancel_callback: Callback when user click cancel button, this callback not need argument.
        '''
        # Init.
        #DialogBox.__init__(self, _("Set password"), default_width, default_height, DIALOG_MASK_SINGLE_PAGE)
        DialogBox.__init__(self,
                           _("Please input password for %s") % ssid,
                           default_width, default_height,
                           DIALOG_MASK_SINGLE_PAGE)

        #self.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_NORMAL)
        self.confirm_callback = confirm_callback
        self.cancel_callback = cancel_callback

        self.connection = connection

        self.hint_align = gtk.Alignment()
        self.hint_align.set(0.5, 0.5, 0, 0)
        self.hint_align.set_padding(0, 0, 10, 10)
        self.hint_text = Label(_("Please input password for %s") % ssid,
                               enable_select=False,
                               enable_double_click=False)
        self.hint_align.add(self.hint_text)

        self.entry_align = gtk.Alignment()
        self.entry_align.set(0.0, 0.5, 0, 0)
        self.entry_align.set_padding(10, 0, 5, 9)
        if self.connection and isinstance(self.connection, NMRemoteConnection):
            (setting_name, method) = self.connection.guess_secret_info()
            if setting_name and method:
                init_text = nm_module.secret_agent.agent_get_secrets(
                    self.connection.object_path, setting_name, method)
            else:
                init_text = ""
        else:
            tray_log.debug()
            self.connection = nm_module.nm_remote_settings.new_wireless_connection(
                ssid, key_mgmt)
            init_text = ''
        self.entry = PasswordEntry(init_text)
        self.show_key_check = CheckButton(_("Show password"), 0)
        self.show_key_check.connect("toggled", self.show_key_check_button_cb)

        self.entry.set_size(default_width - 22, 25)
        self.main_box = gtk.VBox()
        entry_align = gtk.Alignment(0.0, 0.5, 0, 0)
        entry_align.set_padding(0, 0, 5, 0)
        entry_align.set_size_request(-1, 30)
        entry_align.add(self.entry)
        self.main_box.pack_start(entry_align, False, False)
        self.main_box.pack_start(self.show_key_check, False, False)

        self.confirm_button = Button(_("OK"))
        self.cancel_button = Button(_("Cancel"))

        self.entry.entry.connect("press-return",
                                 lambda w: self.click_confirm_button())
        self.confirm_button.connect("clicked",
                                    lambda w: self.click_confirm_button())
        self.cancel_button.connect("clicked",
                                   lambda w: self.click_cancel_button())

        self.entry_align.add(self.main_box)
        #self.body_box.pack_start(self.hint_align, True, True)
        self.body_box.pack_start(self.entry_align, True, True)

        #self.body_box.pack_start(self.main_box, True, True)

        self.right_button_box.set_buttons(
            [self.cancel_button, self.confirm_button])
        self.connect("show", self.focus_input)
    def __init__(self, title, cancel_callback=None):
        DialogBox.__init__(self, 
                title, 
                mask_type=2, 
                close_callback=self.dialog_close_action)
        self.connect('delete-event', self.dialog_close_action)
        self.set_size_request(480, 350)
        self.set_position(gtk.WIN_POS_CENTER_ON_PARENT)

        main_box = gtk.VBox(spacing=15)
        logo_image = gtk.image_new_from_pixbuf(get_common_image_pixbuf('logo24.png'))
        logo_name = Label(_("Deepin Game"), text_size=10)
        logo_box = gtk.HBox(spacing=2)
        logo_box.pack_start(logo_image, False, False)
        logo_box.pack_start(logo_name, False, False)
        
        version_label = Label(_("Version: "))
        version_content = Label(PROGRAM_VERSION, DynamicColor('#4D5154'))
        info_box = gtk.HBox(spacing=5)
        info_box.pack_start(version_label, False, False)
        info_box.pack_start(version_content, False, False)
        
        title_box = gtk.HBox()
        title_box.pack_start(logo_box, False, False)
        align = gtk.Alignment()
        align.set(0, 0, 0, 1)
        title_box.pack_start(align, True, True)
        title_box.pack_start(info_box, False, False)
        
        describe = _("Deepin Game is designed by Deepin for Linux users. Here "
                "you will elaborately find good and safe games selected by "
                "professionals. Click and play the best games you have ever "
                "met. Deepin Game just for happiness!")
        
        describe_label = Label(describe, enable_select=False, wrap_width=430, text_size=10)
        main_box.pack_start(title_box, False, False)
        main_box.pack_start(create_separator_box(), False, True)
        main_box.pack_start(describe_label, False, False)

        links_table = gtk.Table(4, 2)

        links = [
                (_('Weibo: '), None, 'http://weibo.com/linuxdeepinnew'),
                (_('Forum: '), None, 'http://www.linuxdeepin.com/forum'),
                (_('Feedback: '), None, 'http://www.linuxdeepin.com/mantis'),
                (_('Game deliver: '), '*****@*****.**', 'mailto:[email protected]'),
                ]
        for (i, l) in enumerate(links):
            left_text = Label(l[0])
            left_text_align = self.create_right_align()
            left_text_align.add(left_text)
            right_link = LinkButton(text=l[1], link=l[2])
            links_table.attach(left_text_align, 0, 1, i, i+1, xoptions=gtk.FILL, xpadding=5, ypadding=4)
            links_table.attach(right_link, 1, 2, i, i+1, xoptions=gtk.FILL)
            #main_box.pack_start(self.create_link_box(l[0], l[1], l[2]), False, False)
        
        main_box.pack_start(links_table, False, False)
        main_align = gtk.Alignment()
        main_align.set_padding(20, 0, 20, 20)
        main_align.set(0, 0, 1, 1)
        main_align.add(main_box)
        self.body_box.pack_start(main_align)

        self.ok_button = Button(_('Close'))
        self.ok_button.connect('clicked', self.dialog_close_action)
        ok_button_align = gtk.Alignment(0.5, 0.5, 0, 0)
        ok_button_align.set_padding(9, 11, 0, 10)
        ok_button_align.add(self.ok_button)
        self.right_button_box.pack_start(ok_button_align, False, False)
Exemple #34
0
    def __init__(self, title, cancel_callback=None):
        DialogBox.__init__(self, 
                title, 
                mask_type=2, 
                close_callback=self.dialog_close_action)
        self.connect('delete-event', self.dialog_close_action)
        self.set_size_request(480, 350)
        self.set_position(gtk.WIN_POS_CENTER_ON_PARENT)

        main_box = gtk.VBox(spacing=15)
        logo_image = gtk.image_new_from_pixbuf(get_common_image_pixbuf('logo24.png'))
        logo_name = Label(_("Deepin Games"), text_size=10)
        logo_box = gtk.HBox(spacing=2)
        logo_box.pack_start(logo_image, False, False)
        logo_box.pack_start(logo_name, False, False)
        
        version_label = Label(_("Version: "))
        version_content = Label(PROGRAM_VERSION, DynamicColor('#4D5154'))
        info_box = gtk.HBox(spacing=5)
        info_box.pack_start(version_label, False, False)
        info_box.pack_start(version_content, False, False)
        
        title_box = gtk.HBox()
        title_box.pack_start(logo_box, False, False)
        align = gtk.Alignment()
        align.set(0, 0, 0, 1)
        title_box.pack_start(align, True, True)
        title_box.pack_start(info_box, False, False)
        
        describe = _("Deepin Games is designed by Linux Deepin for Linux users. Here you will find good and safe games elaborately selected by professionals. Click and play the best games you have ever met. Deepin Games - deeper into the world of game!")
        
        describe_label = Label(describe, enable_select=False, wrap_width=430, text_size=10)
        main_box.pack_start(title_box, False, False)
        main_box.pack_start(create_separator_box(), False, True)
        main_box.pack_start(describe_label, False, False)

        links_table = gtk.Table(4, 2)

        links = [
                (_('Weibo: '), None, 'http://weibo.com/linuxdeepinnew'),
                (_('Forum: '), None, 'http://www.linuxdeepin.com/forum'),
                (_('Feedback: '), None, 'http://www.linuxdeepin.com/mantis'),
                (_('Game deliver: '), '*****@*****.**', 'mailto:[email protected]'),
                ]
        for (i, l) in enumerate(links):
            left_text = Label(l[0])
            left_text_align = self.create_right_align()
            left_text_align.add(left_text)
            right_link = LinkButton(text=l[1], link=l[2])
            links_table.attach(left_text_align, 0, 1, i, i+1, xoptions=gtk.FILL, xpadding=5, ypadding=4)
            links_table.attach(right_link, 1, 2, i, i+1, xoptions=gtk.FILL)
            #main_box.pack_start(self.create_link_box(l[0], l[1], l[2]), False, False)
        
        main_box.pack_start(links_table, False, False)
        main_align = gtk.Alignment()
        main_align.set_padding(20, 0, 20, 20)
        main_align.set(0, 0, 1, 1)
        main_align.add(main_box)
        self.body_box.pack_start(main_align)

        self.ok_button = Button(_('Close'))
        self.ok_button.connect('clicked', self.dialog_close_action)
        ok_button_align = gtk.Alignment(0.5, 0.5, 0, 0)
        ok_button_align.set_padding(9, 11, 0, 10)
        ok_button_align.add(self.ok_button)
        self.right_button_box.pack_start(ok_button_align, False, False)
    def __init__(self,
                 connection,
                 ssid,
                 key_mgmt=None,
                 default_width=330,
                 default_height=120,
                 confirm_callback=None, 
                 cancel_callback=None,
                 ):
        '''
        Initialize InputDialog class.
        
        @param title: Input dialog title.
        @param init_text: Initialize input text.
        @param default_width: Width of dialog, default is 330 pixel.
        @param default_height: Height of dialog, default is 330 pixel.
        @param confirm_callback: Callback when user click confirm button, this callback accept one argument that return by user input text.
        @param cancel_callback: Callback when user click cancel button, this callback not need argument.
        '''
        # Init.
        #DialogBox.__init__(self, _("Set password"), default_width, default_height, DIALOG_MASK_SINGLE_PAGE)
        DialogBox.__init__(self,
                           _("Please input password for %s") % ssid,
                           default_width,
                           default_height,
                           DIALOG_MASK_SINGLE_PAGE)

        #self.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_NORMAL)
        self.confirm_callback = confirm_callback
        self.cancel_callback = cancel_callback
    
        self.connection = connection
        
        self.hint_align = gtk.Alignment()
        self.hint_align.set(0.5, 0.5, 0, 0)
        self.hint_align.set_padding(0, 0, 10, 10)
        self.hint_text = Label(_("Please input password for %s")%ssid,
                               enable_select=False,
                               enable_double_click=False)
        self.hint_align.add(self.hint_text)

        self.entry_align = gtk.Alignment()
        self.entry_align.set(0.0, 0.5, 0, 0)
        self.entry_align.set_padding(10, 0, 5, 9)
        if self.connection and isinstance(self.connection, NMRemoteConnection):
            (setting_name, method) = self.connection.guess_secret_info()  
            if setting_name and method:
                init_text = nm_module.secret_agent.agent_get_secrets(self.connection.object_path,
                                                        setting_name,
                                                        method)
            else:
                init_text = ""
        else:
            tray_log.debug()
            self.connection = nm_module.nm_remote_settings.new_wireless_connection(ssid, key_mgmt)
            init_text = ''
        self.entry = PasswordEntry(init_text)
        self.show_key_check = CheckButton(_("Show password"), 0)
        self.show_key_check.connect("toggled", self.show_key_check_button_cb)

        self.entry.set_size(default_width - 22, 25)
        self.main_box = gtk.VBox()
        entry_align = gtk.Alignment(0.0, 0.5, 0, 0)
        entry_align.set_padding(0, 0, 5, 0)
        entry_align.set_size_request(-1, 30)
        entry_align.add(self.entry)
        self.main_box.pack_start(entry_align, False, False)
        self.main_box.pack_start(self.show_key_check, False, False)
        
        self.confirm_button = Button(_("OK"))
        self.cancel_button = Button(_("Cancel"))
        
        self.entry.entry.connect("press-return", lambda w: self.click_confirm_button())
        self.confirm_button.connect("clicked", lambda w: self.click_confirm_button())
        self.cancel_button.connect("clicked", lambda w: self.click_cancel_button())
        
        self.entry_align.add(self.main_box)
        #self.body_box.pack_start(self.hint_align, True, True)
        self.body_box.pack_start(self.entry_align, True, True)

        #self.body_box.pack_start(self.main_box, True, True)
        
        self.right_button_box.set_buttons([self.cancel_button, self.confirm_button])
        self.connect("show", self.focus_input)