Esempio n. 1
0
def create(APP_PATH):
    global linkbutton_send
    ui = Gtk.Builder()
    ui.add_from_file(os.path.join(APP_PATH, "dialogs", "help_dialog.ui"))
    dialog = ui.get_object('dialog1')
    dialog.set_icon_from_file(os.path.join(APP_PATH, "icon.png"))

    list_o = ui.get_objects()
    dict_o = {}
    dict_o = localization.translate_ui(list_o, dict_o)
    dialog.set_title('Gis Weather: ' + _('Help'))

    radiobutton1 = ui.get_object('radiobutton1')
    radiobutton2 = ui.get_object('radiobutton2')
    radiobutton3 = ui.get_object('radiobutton3')
    radiobutton4 = ui.get_object('radiobutton4')
    linkbutton_send = ui.get_object('linkbutton_send')

    radiobutton1.connect("toggled", set_message_subject, "Bug")
    radiobutton2.connect("toggled", set_message_subject, "Localization")
    radiobutton3.connect("toggled", set_message_subject, "Question")
    radiobutton4.connect("toggled", set_message_subject, "Suggestion")

    response = dialog.run()
    dialog.hide()
Esempio n. 2
0
def create(APP_PATH):
    global linkbutton_send
    ui = Gtk.Builder()
    ui.add_from_file(os.path.join(APP_PATH, "dialogs", "help_dialog.ui"))
    dialog = ui.get_object("dialog1")
    dialog.set_icon_from_file(os.path.join(APP_PATH, "icon.png"))

    list_o = ui.get_objects()
    dict_o = {}
    dict_o = localization.translate_ui(list_o, dict_o)
    dialog.set_title("Gis Weather: " + _("Help"))

    radiobutton1 = ui.get_object("radiobutton1")
    radiobutton2 = ui.get_object("radiobutton2")
    radiobutton3 = ui.get_object("radiobutton3")
    radiobutton4 = ui.get_object("radiobutton4")
    linkbutton_send = ui.get_object("linkbutton_send")

    radiobutton1.connect("toggled", set_message_subject, "Bug")
    radiobutton2.connect("toggled", set_message_subject, "Localization")
    radiobutton3.connect("toggled", set_message_subject, "Question")
    radiobutton4.connect("toggled", set_message_subject, "Suggestion")

    response = dialog.run()
    dialog.hide()
Esempio n. 3
0
 def set_app_lang(self, widget):
     if state_lock:
         return
     global gw_config_set
     w_name = Gtk.Buildable.get_name(widget)
     w_name = w_name.split('_')
     name = '_'.join(w_name[1:])
     i = widget.get_active()
     gw_config_set[name] = available_lang[i]
     Save_Config()
     localization.set()
     self.dict_o = localization.translate_ui(self.list_o, self.dict_o)
     self.window1.set_title(_('Preferences')+' Gis Weather #'+str(INSTANCE_NO))
     self.load_config_into_form()
     drawing_area_set.redraw(False, False, load_config = True)
Esempio n. 4
0
 def set_app_lang(self, widget):
     if state_lock:
         return
     global gw_config_set
     w_name = Gtk.Buildable.get_name(widget)
     w_name = w_name.split('_')
     name = '_'.join(w_name[1:])
     i = widget.get_active()
     gw_config_set[name] = available_lang[i]
     Save_Config()
     localization.set()
     self.dict_o = localization.translate_ui(self.list_o, self.dict_o)
     self.window1.set_title(_('Preferences')+' Gis Weather #'+str(INSTANCE_NO))
     self.load_config_into_form()
     drawing_area_set.redraw(False, False, load_config = True)
Esempio n. 5
0
def create(window, APP_PATH, service):
    global grid_appid, entrybox_appid
    Load_Config()
    ui = Gtk.Builder()
    ui.add_from_file(os.path.join(APP_PATH, "dialogs", "city_id_dialog.ui"))
    dialog = ui.get_object('dialog1')

    dialog.set_icon_from_file(os.path.join(APP_PATH, "icon.png"))
    list_o = ui.get_objects()
    dict_o = {}
    dict_o = localization.translate_ui(list_o, dict_o)
    dialog.set_title(_('Location'))
    dialog.set_default_size(100, 400)

    liststore2 = ui.get_object('liststore2')
    combobox_weather_lang = ui.get_object('combobox_weather_lang')
    combobox_weather_lang.connect("changed", set_weather_lang)
    combobox_service = ui.get_object('combobox_service')
    liststore3 = ui.get_object('liststore3')
    label = ui.get_object('label1')
    for i in range(len(services_list)):
        liststore3.append([services_list[i]])
    combobox_service.set_active(data.get_index(service))
    store = ui.get_object('liststore1')
    grid_appid = ui.get_object('grid_appid')
    entrybox_appid = ui.get_object('entrybox_appid')

    load_data(service, label, liststore2, combobox_weather_lang,
              gw_config['weather_lang'], store)

    combobox_service.connect("changed", set_service, label, liststore2,
                             combobox_weather_lang, gw_config['weather_lang'],
                             store)

    entrybox = ui.get_object('entrybox')
    bar_ok = ui.get_object('bar_ok')
    bar_err = ui.get_object('bar_err')
    bar_label = ui.get_object('bar_label')

    treeView = ui.get_object('treeView')
    create_columns(treeView)

    return dialog, entrybox, treeView, bar_err, bar_ok, bar_label, combobox_weather_lang, weather_lang_list, combobox_service, grid_appid, entrybox_appid
Esempio n. 6
0
def create(window, APP_PATH, service):
    global grid_appid, entrybox_appid
    Load_Config()
    ui = Gtk.Builder()
    ui.add_from_file(os.path.join(APP_PATH, "dialogs","city_id_dialog.ui"))
    dialog = ui.get_object('dialog1')

    dialog.set_icon_from_file(os.path.join(APP_PATH, "icon.png"))
    list_o = ui.get_objects()
    dict_o = {}
    dict_o = localization.translate_ui(list_o, dict_o)
    dialog.set_title(_('Location'))
    dialog.set_default_size(100, 400)

    liststore2 = ui.get_object('liststore2')
    combobox_weather_lang = ui.get_object('combobox_weather_lang')
    combobox_weather_lang.connect("changed", set_weather_lang)
    combobox_service = ui.get_object('combobox_service')
    liststore3 = ui.get_object('liststore3')
    label = ui.get_object('label1')
    for i in range(len(services_list)):
        liststore3.append([services_list[i]])
    combobox_service.set_active(data.get_index(service))
    store = ui.get_object('liststore1')
    grid_appid = ui.get_object('grid_appid')
    entrybox_appid = ui.get_object('entrybox_appid')

    load_data(service, label, liststore2, combobox_weather_lang, gw_config['weather_lang'], store)

    combobox_service.connect("changed", set_service, label, liststore2, combobox_weather_lang, gw_config['weather_lang'], store)
    
    entrybox = ui.get_object('entrybox')
    bar_ok = ui.get_object('bar_ok')
    bar_err = ui.get_object('bar_err')
    bar_label = ui.get_object('bar_label')
    

    treeView = ui.get_object('treeView')
    create_columns(treeView)

    return dialog, entrybox, treeView, bar_err, bar_ok, bar_label, combobox_weather_lang, weather_lang_list, combobox_service, grid_appid, entrybox_appid
Esempio n. 7
0
def create(v, new_ver, CONFIG_PATH, APP_PATH, update_link, file_name, package):
    global APP_PATH1, dialog, linkbutton_send
    APP_PATH1 = APP_PATH
    ui = Gtk.Builder()
    ui.add_from_file(os.path.join(APP_PATH, "dialogs","update_dialog.ui"))
    dialog = ui.get_object('dialog1')
    dialog.set_icon_from_file(os.path.join(APP_PATH, "icon.png"))

    list_o = ui.get_objects()
    dict_o = {}
    dict_o = localization.translate_ui(list_o, dict_o)
    dialog.set_title('Gis Weather: '+_('Update'))

    label = ui.get_object('label')
    image_logo = ui.get_object('image_logo')
    label_cur_ver = ui.get_object('label_cur_ver')
    label_new_ver = ui.get_object('label_new_ver')
    infobar = ui.get_object('infobar')
    infobar_success = ui.get_object('infobar_success')
    infobar_error = ui.get_object('infobar_error')
    global label_updating_step1
    label_updating_step1 = ui.get_object('label_updating_step1')
    button_restart = ui.get_object('button_restart')
    button_update = ui.get_object('button_update')
    button_try_again = ui.get_object('button_try_again')
    pic_step1 = ui.get_object('pic_step1')
    pic_step2 = ui.get_object('pic_step2')
    pic_step3 = ui.get_object('pic_step3')
    radiobutton1 = ui.get_object('radiobutton1')
    radiobutton2 = ui.get_object('radiobutton2')
    radiobutton3 = ui.get_object('radiobutton3')
    radiobutton4 = ui.get_object('radiobutton4')
    linkbutton_send = ui.get_object('linkbutton_send')

    radiobutton1.connect("toggled", set_message_subject, "Bug")
    radiobutton2.connect("toggled", set_message_subject, "Localization")
    radiobutton3.connect("toggled", set_message_subject, "Question")
    radiobutton4.connect("toggled", set_message_subject, "Suggestion")

    label_cur_ver.set_markup("<small>"+_("Current version")+": "+v+"</small>")
    label_new_ver.set_markup("<big><b>"+_("Available new version")+": "+"%s</b></big>"%new_ver)
    label.set_markup("<span size='xx-large'>Gis Weather</span>")
    button_restart.connect("clicked", restart)

    image_logo.set_from_pixbuf(GdkPixbuf.Pixbuf.new_from_file_at_size(os.path.join(APP_PATH, 'icon.png'), 160, 160))
    pix_loading = GdkPixbuf.PixbufAnimation.new_from_file(os.path.join(APP_PATH, 'themes', 'loading.gif'))

    response = dialog.run()

    while response == Gtk.ResponseType.OK:
        button_update.set_sensitive(False)
        infobar.show()
        pic_step1.set_from_animation(pix_loading)
        pic_step2.clear()
        pic_step3.clear()
        infobar_error.hide()
        url = update_link
        _file = os.path.join(CONFIG_PATH, file_name)
        
        try:
            urlretrieve(url, _file, reporthook=dlProgress)
            pic_step1.set_from_stock(Gtk.STOCK_OK, 4)
        except:
            print ('[!] '+_('Error downloading updates'))
            pic_step1.set_from_stock(Gtk.STOCK_DIALOG_ERROR, 4)
            infobar_error.show()
        else:
            pic_step2.set_from_animation(pix_loading)
            # redraw window
            while Gtk.events_pending():
                Gtk.main_iteration_do(True)
            if package == 'gz':
                cmd_line = 'tar -xzf "%s" -C "%s" --strip=1'%(_file, APP_PATH)
                args = shlex.split(cmd_line)
                p = subprocess.Popen(args, stdout=subprocess.PIPE)
                out, err = p.communicate()
                out = 'OK'
            else:
                if package == 'deb':
                    cmd_line = 'pkexec dpkg -i "%s"' %_file
                    args = shlex.split(cmd_line)
                    p = subprocess.Popen(args, stdout=subprocess.PIPE)
                    out, err = p.communicate()
                else:
                    if package == 'rpm':
                        pass
                    else:
                        if package == 'exe':
                            out = 'OK'
                            err = 'None'
                            try:
                                os.startfile(_file,'runas')
                            except:
                                out = 'None'
                                err = 'True'
                            exit()
                                
            if (out == '' or out == 'None') and err != 'None':
                print ('[!] '+_('Error installing updates'))
                pic_step2.set_from_stock(Gtk.STOCK_DIALOG_ERROR, 4)
                infobar_error.show()
            else:
                print ('> '+_('Installation')+':')
                print (out)
                pic_step2.set_from_stock(Gtk.STOCK_OK, 4)
                pic_step3.set_from_animation(pix_loading)
                try:
                    os.remove(_file)
                    pic_step3.set_from_stock(Gtk.STOCK_OK, 4)
                except:
                    print ('[!] '+_('Error removing'))
                    pic_step3.set_from_stock(Gtk.STOCK_DIALOG_ERROR, 4)
                    infobar_error.show()
                else:
                    infobar_success.show()
        button_update.set_sensitive(True)
        response = dialog.run()

    dialog.hide()
Esempio n. 8
0
    def __init__(self):
        self.ui = Gtk.Builder()
        self.ui.add_from_file(os.path.join(work_path,"settings_dialog.ui"))

        self.window1 = self.ui.get_object('dialog1')
        self.window1.set_icon_from_file(os.path.join(os.path.split(work_path)[0], "icon.png"))

        self.list_o = self.ui.get_objects()
        self.dict_o = {}
        self.dict_o = localization.translate_ui(self.list_o, self.dict_o)
        self.window1.set_title(_('Preferences')+' Gis Weather #'+str(INSTANCE_NO))

        # General
        self.spinbutton_upd_time = self.ui.get_object('spinbutton_upd_time')
        self.spinbutton_upd_time.connect("value-changed", self.save_settings)
        self.switch_fix_BadDrawable = self.ui.get_object('switch_fix_BadDrawable')
        self.switch_fix_BadDrawable.connect("notify::active", self.save_settings)
        self.combobox_check_for_updates = self.ui.get_object('combobox_check_for_updates')
        self.combobox_check_for_updates.connect("changed", self.save_settings)
        self.button_city_id = self.ui.get_object('button_city_id')
        self.button_city_id.connect("clicked", App_gw.menu_response, 'edit_city_id')
        self.button_open_config_folder = self.ui.get_object('button_open_config_folder')
        self.button_open_config_folder.connect("clicked", App_gw.menu_response, 'edit')
        self.switch_autostart = self.ui.get_object('switch_autostart')
        self.switch_autostart.connect("notify::active", self.set_autorun)
        self.combobox_app_lang = self.ui.get_object('combobox_app_lang')
        self.combobox_app_lang.connect("changed", self.set_app_lang)
        self.combobox_weather_lang = self.ui.get_object('combobox_weather_lang')
        self.combobox_weather_lang.connect("changed", self.set_weather_lang)
        self.liststore1 = self.ui.get_object('liststore1')
        self.spinbutton_delay_start_time = self.ui.get_object('spinbutton_delay_start_time')
        self.spinbutton_delay_start_time.connect("value-changed", self.save_settings)
        self.label_delay_start_time = self.ui.get_object('label_delay_start_time')
        self.label_add_icon = self.ui.get_object('label_add_icon')
        self.switch_add_icon = self.ui.get_object('switch_add_icon')
        self.switch_add_icon.connect("notify::active", self.set_desktop)
        self.combobox_service = self.ui.get_object('combobox_service')
        self.combobox_service.connect("changed", self.set_service)
        self.liststore8 = self.ui.get_object('liststore8')
        self.button_refresh = self.ui.get_object('button_refresh')
        self.button_refresh.connect("clicked", self.refresh)
        self.frame_autostart1 = self.ui.get_object('frame_autostart1')
        self.frame_autostart2 = self.ui.get_object('frame_autostart2')
        self.spinbutton_instances_count = self.ui.get_object('spinbutton_instances_count')
        self.spinbutton_instances_count.connect("value-changed", self.save_settings)
        self.label_instances_count = self.ui.get_object('label_instances_count')

        
        self.clear_upd_time = self.ui.get_object('clear_upd_time')
        self.clear_upd_time.connect("clicked", self.clear_settings)
        self.clear_fix_BadDrawable = self.ui.get_object('clear_fix_BadDrawable')
        self.clear_fix_BadDrawable.connect("clicked", self.clear_settings)
        self.clear_check_for_updates = self.ui.get_object('clear_check_for_updates')
        self.clear_check_for_updates.connect("clicked", self.clear_settings)
        self.clear_delay_start_time = self.ui.get_object('clear_delay_start_time')
        self.clear_delay_start_time.connect("clicked", self.clear_settings)
        self.clear_instances_count = self.ui.get_object('clear_instances_count')
        self.clear_instances_count.connect("clicked", self.clear_settings)


        # Units
        self.combobox_t_scale = self.ui.get_object('combobox_t_scale')
        self.combobox_t_scale.connect("changed", self.save_settings)
        self.liststore7 = self.ui.get_object('liststore7')
        self.switch_t_feel = self.ui.get_object('switch_t_feel')
        self.switch_t_feel.connect("notify::active", self.save_settings)
        self.combobox_wind_units = self.ui.get_object('combobox_wind_units')
        self.combobox_wind_units.connect("changed", self.save_settings)
        self.liststore9 = self.ui.get_object('liststore9')
        self.combobox_press_units = self.ui.get_object('combobox_press_units')
        self.combobox_press_units.connect("changed", self.save_settings)
        self.liststore10 = self.ui.get_object('liststore10')
        self.combobox_date_separator = self.ui.get_object('combobox_date_separator')
        self.combobox_date_separator.connect("changed", self.set_date_separator)
        self.liststore15 = self.ui.get_object('liststore15')
        self.switch_swap_d_and_m = self.ui.get_object('switch_swap_d_and_m')
        self.switch_swap_d_and_m.connect("notify::active", self.save_settings)

        self.clear_t_scale = self.ui.get_object('clear_t_scale')
        self.clear_t_scale.connect("clicked", self.clear_settings)
        self.clear_t_feel = self.ui.get_object('clear_t_feel')
        self.clear_t_feel.connect("clicked", self.clear_settings)
        self.clear_wind_units = self.ui.get_object('clear_wind_units')
        self.clear_wind_units.connect("clicked", self.clear_settings)
        self.clear_press_units = self.ui.get_object('clear_press_units')
        self.clear_press_units.connect("clicked", self.clear_settings)


        # Window
        self.spinbutton_x_pos = self.ui.get_object('spinbutton_x_pos')
        self.spinbutton_x_pos.connect("value-changed", self.save_settings)
        self.spinbutton_y_pos = self.ui.get_object('spinbutton_y_pos')
        self.spinbutton_y_pos.connect("value-changed", self.save_settings)
        self.spinbutton_margin = self.ui.get_object('spinbutton_margin')
        self.spinbutton_margin.connect("value-changed", self.save_settings)
        self.spinbutton_opacity = self.ui.get_object('spinbutton_opacity')
        self.spinbutton_opacity.connect("value-changed", self.save_settings)
        self.switch_fix_position = self.ui.get_object('switch_fix_position')
        self.switch_fix_position.connect("notify::active", self.save_settings)
        self.switch_sticky = self.ui.get_object('switch_sticky')
        self.switch_sticky.connect("notify::active", self.save_settings)
        self.liststore5 = self.ui.get_object('liststore5')
        self.liststore6 = self.ui.get_object('liststore6')
        self.spinbutton_scale = self.ui.get_object('spinbutton_scale')
        self.spinbutton_scale.connect("value-changed", self.save_settings)
        self.switch_always_on_top = self.ui.get_object('switch_always_on_top')
        self.switch_always_on_top.connect("notify::active", self.save_settings)


        self.clear_x_pos = self.ui.get_object('clear_x_pos')
        self.clear_x_pos.connect("clicked", self.clear_settings)
        self.clear_margin = self.ui.get_object('clear_margin')
        self.clear_margin.connect("clicked", self.clear_settings)
        self.clear_y_pos = self.ui.get_object('clear_y_pos')
        self.clear_y_pos.connect("clicked", self.clear_settings)
        self.clear_opacity = self.ui.get_object('clear_opacity')
        self.clear_opacity.connect("clicked", self.clear_settings)
        self.clear_fix_position = self.ui.get_object('clear_fix_position')
        self.clear_fix_position.connect("clicked", self.clear_settings)
        self.clear_sticky = self.ui.get_object('clear_sticky')
        self.clear_sticky.connect("clicked", self.clear_settings)
        self.clear_scale = self.ui.get_object('clear_scale')
        self.clear_scale.connect("clicked", self.clear_settings)
        self.clear_always_on_top = self.ui.get_object('clear_always_on_top')
        self.clear_always_on_top.connect("clicked", self.clear_settings)

        # View
        
        self.switch_block_sunrise__show = self.ui.get_object("switch_block_sunrise__show")
        self.switch_block_sunrise__show.connect("notify::active", self.save_settings)
        self.switch_block_moonrise__show = self.ui.get_object("switch_block_moonrise__show")
        self.switch_block_moonrise__show.connect("notify::active", self.save_settings)
        self.switch_show_block_today = self.ui.get_object('switch_show_block_today')
        self.switch_show_block_today.connect("notify::active", self.save_settings)
        self.spinbutton_block_today_left = self.ui.get_object('spinbutton_block_today_left')
        self.spinbutton_block_today_left.connect("value-changed", self.save_settings)
        self.switch_show_block_tomorrow = self.ui.get_object('switch_show_block_tomorrow')
        self.switch_show_block_tomorrow.connect("notify::active", self.save_settings)
        self.spinbutton_block_tomorrow_left = self.ui.get_object('spinbutton_block_tomorrow_left')
        self.spinbutton_block_tomorrow_left.connect("value-changed", self.save_settings)
        self.switch_show_block_wind_direct = self.ui.get_object('switch_show_block_wind_direct')
        self.switch_show_block_wind_direct.connect("notify::active", self.save_settings)
        self.spinbutton_block_wind_direct_left = self.ui.get_object('spinbutton_block_wind_direct_left')
        self.spinbutton_block_wind_direct_left.connect("value-changed", self.save_settings)
        self.switch_wind_direct_small = self.ui.get_object('switch_wind_direct_small')
        self.switch_wind_direct_small.connect("notify::active", self.save_settings)
        self.spinbutton_angel = self.ui.get_object('spinbutton_angel')
        self.spinbutton_angel.connect("value-changed", self.save_settings)
        self.switch_show_block_add_info = self.ui.get_object('switch_show_block_add_info')
        self.switch_show_block_add_info.connect("notify::active", self.save_settings)
        self.spinbutton_block_add_info_left = self.ui.get_object('spinbutton_block_add_info_left')
        self.spinbutton_block_add_info_left.connect("value-changed", self.save_settings)
        self.spinbutton_n = self.ui.get_object('spinbutton_n')
        self.spinbutton_n.connect("value-changed", self.save_settings)
        self.switch_show_time_receive = self.ui.get_object('switch_show_time_receive')
        self.switch_show_time_receive.connect("notify::active", self.save_settings)
        self.switch_show_chance_of_rain = self.ui.get_object('switch_show_chance_of_rain')
        self.switch_show_chance_of_rain.connect("notify::active", self.save_settings)
        self.combobox_show_splash_screen = self.ui.get_object('combobox_show_splash_screen')
        self.combobox_show_splash_screen.connect("changed", self.save_settings)
        self.spinbutton_max_try_show = self.ui.get_object('spinbutton_max_try_show')
        self.spinbutton_max_try_show.connect("value-changed", self.save_settings)
        self.liststore2 = self.ui.get_object('liststore2')
        self.spinbutton_block_now_left = self.ui.get_object('spinbutton_block_now_left')
        self.spinbutton_block_now_left.connect("value-changed", self.save_settings)
        self.adjustment_n_max = self.ui.get_object('adjustment_n_max')
        self.switch_time_of_day_gradient = self.ui.get_object('switch_time_of_day_gradient')
        self.switch_time_of_day_gradient.connect("notify::active", self.save_settings)


        self.clear_block_sunrise__show = self.ui.get_object('clear_block_sunrise__show')
        self.clear_block_sunrise__show.connect("clicked", self.clear_settings)
        self.clear_block_moonrise__show = self.ui.get_object('clear_block_moonrise__show')
        self.clear_block_moonrise__show.connect("clicked", self.clear_settings) 
        self.clear_show_block_today = self.ui.get_object('clear_show_block_today')
        self.clear_show_block_today.connect("clicked", self.clear_settings)
        self.clear_block_today_left = self.ui.get_object('clear_block_today_left')
        self.clear_block_today_left.connect("clicked", self.clear_settings)
        self.clear_show_block_tomorrow = self.ui.get_object('clear_show_block_tomorrow')
        self.clear_show_block_tomorrow.connect("clicked", self.clear_settings)
        self.clear_block_tomorrow_left = self.ui.get_object('clear_block_tomorrow_left')
        self.clear_block_tomorrow_left.connect("clicked", self.clear_settings)
        self.clear_show_block_wind_direct = self.ui.get_object('clear_show_block_wind_direct')
        self.clear_show_block_wind_direct.connect("clicked", self.clear_settings)
        self.clear_block_wind_direct_left = self.ui.get_object('clear_block_wind_direct_left')
        self.clear_block_wind_direct_left.connect("clicked", self.clear_settings)
        self.clear_wind_direct_small = self.ui.get_object('clear_wind_direct_small')
        self.clear_wind_direct_small.connect("clicked", self.clear_settings)
        self.clear_angel = self.ui.get_object('clear_angel')
        self.clear_angel.connect("clicked", self.clear_settings)
        self.clear_show_block_add_info = self.ui.get_object('clear_show_block_add_info')
        self.clear_show_block_add_info.connect("clicked", self.clear_settings)
        self.clear_block_add_info_left = self.ui.get_object('clear_block_add_info_left')
        self.clear_block_add_info_left.connect("clicked", self.clear_settings)
        self.clear_n = self.ui.get_object('clear_n')
        self.clear_n.connect("clicked", self.clear_settings)
        self.clear_show_time_receive = self.ui.get_object('clear_show_time_receive')
        self.clear_show_time_receive.connect("clicked", self.clear_settings)
        self.clear_show_chance_of_rain = self.ui.get_object('clear_show_chance_of_rain')
        self.clear_show_chance_of_rain.connect("clicked", self.clear_settings)
        self.clear_show_splash_screen = self.ui.get_object('clear_show_splash_screen')
        self.clear_show_splash_screen.connect("clicked", self.clear_settings)
        self.clear_max_try_show = self.ui.get_object('clear_max_try_show')
        self.clear_max_try_show.connect("clicked", self.clear_settings)
        self.clear_block_now_left = self.ui.get_object('clear_block_now_left')
        self.clear_block_now_left.connect("clicked", self.clear_settings)
        self.clear_time_of_day_gradient = self.ui.get_object('clear_time_of_day_gradient')
        self.clear_time_of_day_gradient.connect("clicked", self.clear_settings)

        # Appearance
        self.fontbutton_font = self.ui.get_object('fontbutton_font')
        self.fontbutton_font.connect("font-set", self.set_font)
        self.colorbutton_color_text = self.ui.get_object('colorbutton_color_text')
        self.colorbutton_color_text.connect("color-set", self.set_color)
        self.colorbutton_color_text_week = self.ui.get_object('colorbutton_color_text_week')
        self.colorbutton_color_text_week.connect("color-set", self.set_color)
        self.entry_weekend = self.ui.get_object('entry_weekend')
        # self.entry_weekend.connect("color-set", self.set_color) FIXME
        self.colorbutton_color_shadow = self.ui.get_object('colorbutton_color_shadow')
        self.colorbutton_color_shadow.connect("color-set", self.set_color)
        self.colorbutton_color_high_wind = self.ui.get_object('colorbutton_color_high_wind')
        self.colorbutton_color_high_wind.connect("color-set", self.set_color)
        self.colorbutton_color_bg = self.ui.get_object('colorbutton_color_bg')
        self.colorbutton_color_bg.connect("color-set", self.set_color)
        self.switch_draw_shadow = self.ui.get_object('switch_draw_shadow')
        self.switch_draw_shadow.connect("notify::active", self.save_settings)
        self.spinbutton_high_wind = self.ui.get_object('spinbutton_high_wind')
        self.spinbutton_high_wind.connect("value-changed", self.save_settings)
        self.switch_show_bg_png = self.ui.get_object('switch_show_bg_png')
        self.switch_show_bg_png.connect("notify::active", self.save_settings)
        self.spinbutton_r = self.ui.get_object('spinbutton_r')
        self.spinbutton_r.connect("value-changed", self.save_settings)
        self.frame_image = self.ui.get_object('frame_image')
        self.frame_not_image = self.ui.get_object('frame_not_image')
        self.combobox_desc_style = self.ui.get_object('combobox_desc_style')
        self.combobox_desc_style.connect("changed", self.save_settings)

        self.combobox_icons_name = self.ui.get_object('combobox_icons_name')
        self.combobox_icons_name.connect("changed", self.set_icon_bg)
        self.liststore3 = self.ui.get_object('liststore3')
        self.combobox_bg_custom = self.ui.get_object('combobox_bg_custom')
        self.combobox_bg_custom.connect("changed", self.set_icon_bg)
        self.liststore4 = self.ui.get_object('liststore4')


        self.clear_font = self.ui.get_object('clear_font')
        self.clear_font.connect("clicked", self.clear_settings)
        self.clear_color_text = self.ui.get_object('clear_color_text')
        self.clear_color_text.connect("clicked", self.clear_settings)
        self.clear_color_text_week = self.ui.get_object('clear_color_text_week')
        self.clear_color_text_week.connect("clicked", self.clear_settings)
        self.clear_color_shadow = self.ui.get_object('clear_color_shadow')
        self.clear_color_shadow.connect("clicked", self.clear_settings)
        self.clear_color_high_wind = self.ui.get_object('clear_color_high_wind')
        self.clear_color_high_wind.connect("clicked", self.clear_settings)
        self.clear_color_bg = self.ui.get_object('clear_color_bg')
        self.clear_color_bg.connect("clicked", self.clear_settings)
        self.clear_draw_shadow = self.ui.get_object('clear_draw_shadow')
        self.clear_draw_shadow.connect("clicked", self.clear_settings)
        self.clear_high_wind = self.ui.get_object('clear_high_wind')
        self.clear_high_wind.connect("clicked", self.clear_settings)
        self.clear_show_bg_png = self.ui.get_object('clear_show_bg_png')
        self.clear_show_bg_png.connect("clicked", self.clear_settings)
        self.clear_r = self.ui.get_object('clear_r')
        self.clear_r.connect("clicked", self.clear_settings)
        self.clear_icons_name = self.ui.get_object('clear_icons_name')
        self.clear_icons_name.connect("clicked", self.clear_settings)
        self.clear_bg_custom = self.ui.get_object('clear_bg_custom')
        self.clear_bg_custom.connect("clicked", self.clear_settings)
        self.clear_weekend = self.ui.get_object('clear_weekend')
        self.clear_weekend.connect("clicked", self.clear_settings)
        self.clear_desc_style = self.ui.get_object('clear_desc_style')
        self.clear_desc_style.connect("clicked", self.clear_settings)


        # Indicator
        self.combobox_show_indicator = self.ui.get_object('combobox_show_indicator')
        self.combobox_show_indicator.connect("changed", self.save_settings)
        self.liststore11 = self.ui.get_object('liststore11')
        self.combobox_indicator_is_appindicator = self.ui.get_object('combobox_indicator_is_appindicator')
        self.combobox_indicator_is_appindicator.connect("changed", self.save_settings)
        self.liststore12 = self.ui.get_object('liststore12')
        self.combobox_indicator_icons_name = self.ui.get_object('combobox_indicator_icons_name')
        self.combobox_indicator_icons_name.connect("changed", self.set_icon_bg)
        self.liststore13 = self.ui.get_object('liststore13')
        self.switch_indicator_draw_shadow = self.ui.get_object('switch_indicator_draw_shadow')
        self.switch_indicator_draw_shadow.connect("notify::active", self.save_settings)
        self.fontbutton_indicator_font = self.ui.get_object('fontbutton_indicator_font')
        self.fontbutton_indicator_font.connect("font-set", self.set_font)
        self.colorbutton_indicator_color_text = self.ui.get_object('colorbutton_indicator_color_text')
        self.colorbutton_indicator_color_text.connect("color-set", self.set_color)
        self.colorbutton_indicator_color_shadow = self.ui.get_object('colorbutton_indicator_color_shadow')
        self.colorbutton_indicator_color_shadow.connect("color-set", self.set_color)
        self.frame_status_icon = self.ui.get_object('frame_status_icon')
        self.spinbutton_indicator_top = self.ui.get_object('spinbutton_indicator_top')
        self.spinbutton_indicator_top.connect("value-changed", self.save_settings)
        self.spinbutton_indicator_width = self.ui.get_object('spinbutton_indicator_width')
        self.spinbutton_indicator_width.connect("value-changed", self.save_settings)
        self.frame_app_indicator = self.ui.get_object('frame_app_indicator')
        self.spinbutton_app_indicator_size = self.ui.get_object('spinbutton_app_indicator_size')
        self.spinbutton_app_indicator_size.connect("value-changed", self.save_settings)
        self.switch_app_indicator_fix_size = self.ui.get_object('switch_app_indicator_fix_size')
        self.switch_app_indicator_fix_size.connect("notify::active", self.save_settings)
        self.switch_show_indicator_text = self.ui.get_object('switch_show_indicator_text')
        self.switch_show_indicator_text.connect("notify::active", self.save_settings)

        self.clear_show_indicator = self.ui.get_object('clear_show_indicator')
        self.clear_show_indicator.connect("clicked", self.clear_settings)
        self.clear_indicator_draw_shadow = self.ui.get_object('clear_indicator_draw_shadow')
        self.clear_indicator_draw_shadow.connect("clicked", self.clear_settings)
        self.clear_indicator_font = self.ui.get_object('clear_indicator_font')
        self.clear_indicator_font.connect("clicked", self.clear_settings)
        self.clear_indicator_top = self.ui.get_object('clear_indicator_top')
        self.clear_indicator_top.connect("clicked", self.clear_settings)
        self.clear_indicator_width = self.ui.get_object('clear_indicator_width')
        self.clear_indicator_width.connect("clicked", self.clear_settings)
        self.clear_app_indicator_size = self.ui.get_object('clear_app_indicator_size')
        self.clear_app_indicator_size.connect("clicked", self.clear_settings)
        self.clear_app_indicator_fix_size = self.ui.get_object('clear_app_indicator_fix_size')
        self.clear_app_indicator_fix_size.connect("clicked", self.clear_settings)
        
        if WIN:
            self.clear_delay_start_time.hide()
            self.spinbutton_delay_start_time.hide()
            self.label_delay_start_time.hide()

            self.switch_add_icon.hide()
            self.label_add_icon.hide()

            self.clear_instances_count.hide()
            self.label_instances_count.hide()
            self.spinbutton_instances_count.hide()

        self.button_close = self.ui.get_object('button_close')
        self.button_close.connect("clicked", self.close_window)

        self.window1.connect("delete_event", self.close_window)
        self.window1.show()
Esempio n. 9
0
def create(v, new_ver, CONFIG_PATH, APP_PATH, update_link, file_name, package):
    global APP_PATH1, dialog, linkbutton_send
    APP_PATH1 = APP_PATH
    ui = Gtk.Builder()
    ui.add_from_file(os.path.join(APP_PATH, "dialogs", "update_dialog.ui"))
    dialog = ui.get_object('dialog1')
    dialog.set_icon_from_file(os.path.join(APP_PATH, "icon.png"))

    list_o = ui.get_objects()
    dict_o = {}
    dict_o = localization.translate_ui(list_o, dict_o)
    dialog.set_title('Gis Weather: ' + _('Update'))

    label = ui.get_object('label')
    image_logo = ui.get_object('image_logo')
    label_cur_ver = ui.get_object('label_cur_ver')
    label_new_ver = ui.get_object('label_new_ver')
    infobar = ui.get_object('infobar')
    infobar_success = ui.get_object('infobar_success')
    infobar_error = ui.get_object('infobar_error')
    global label_updating_step1
    label_updating_step1 = ui.get_object('label_updating_step1')
    button_restart = ui.get_object('button_restart')
    button_update = ui.get_object('button_update')
    button_try_again = ui.get_object('button_try_again')
    pic_step1 = ui.get_object('pic_step1')
    pic_step2 = ui.get_object('pic_step2')
    pic_step3 = ui.get_object('pic_step3')
    radiobutton1 = ui.get_object('radiobutton1')
    radiobutton2 = ui.get_object('radiobutton2')
    radiobutton3 = ui.get_object('radiobutton3')
    radiobutton4 = ui.get_object('radiobutton4')
    linkbutton_send = ui.get_object('linkbutton_send')

    radiobutton1.connect("toggled", set_message_subject, "Bug")
    radiobutton2.connect("toggled", set_message_subject, "Localization")
    radiobutton3.connect("toggled", set_message_subject, "Question")
    radiobutton4.connect("toggled", set_message_subject, "Suggestion")

    label_cur_ver.set_markup("<small>" + _("Current version") + ": " + v +
                             "</small>")
    label_new_ver.set_markup("<big><b>" + _("Available new version") + ": " +
                             "%s</b></big>" % new_ver)
    label.set_markup("<span size='xx-large'>Gis Weather</span>")
    button_restart.connect("clicked", restart)

    image_logo.set_from_pixbuf(
        GdkPixbuf.Pixbuf.new_from_file_at_size(
            os.path.join(APP_PATH, 'icon.png'), 160, 160))
    pix_loading = GdkPixbuf.PixbufAnimation.new_from_file(
        os.path.join(APP_PATH, 'themes', 'loading.gif'))

    response = dialog.run()

    while response == Gtk.ResponseType.OK:
        button_update.set_sensitive(False)
        infobar.show()
        pic_step1.set_from_animation(pix_loading)
        pic_step2.clear()
        pic_step3.clear()
        infobar_error.hide()
        url = update_link
        _file = os.path.join(CONFIG_PATH, file_name)

        try:
            urlretrieve(url, _file, reporthook=dlProgress)
            pic_step1.set_from_stock(Gtk.STOCK_OK, 4)
        except:
            print('[!] ' + _('Error downloading updates'))
            pic_step1.set_from_stock(Gtk.STOCK_DIALOG_ERROR, 4)
            infobar_error.show()
        else:
            pic_step2.set_from_animation(pix_loading)
            # redraw window
            while Gtk.events_pending():
                Gtk.main_iteration_do(True)
            if package == 'gz':
                cmd_line = 'tar -xzf "%s" -C "%s" --strip=1' % (_file,
                                                                APP_PATH)
                args = shlex.split(cmd_line)
                p = subprocess.Popen(args, stdout=subprocess.PIPE)
                out, err = p.communicate()
                out = 'OK'
            else:
                if package == 'deb':
                    cmd_line = 'pkexec dpkg -i "%s"' % _file
                    args = shlex.split(cmd_line)
                    p = subprocess.Popen(args, stdout=subprocess.PIPE)
                    out, err = p.communicate()
                else:
                    if package == 'rpm':
                        pass
                    else:
                        if package == 'exe':
                            out = 'OK'
                            err = 'None'
                            try:
                                os.startfile(_file, 'runas')
                            except:
                                out = 'None'
                                err = 'True'
                            exit()

            if (out == '' or out == 'None') and err != 'None':
                print('[!] ' + _('Error installing updates'))
                pic_step2.set_from_stock(Gtk.STOCK_DIALOG_ERROR, 4)
                infobar_error.show()
            else:
                print('> ' + _('Installation') + ':')
                print(out)
                pic_step2.set_from_stock(Gtk.STOCK_OK, 4)
                pic_step3.set_from_animation(pix_loading)
                try:
                    os.remove(_file)
                    pic_step3.set_from_stock(Gtk.STOCK_OK, 4)
                except:
                    print('[!] ' + _('Error removing'))
                    pic_step3.set_from_stock(Gtk.STOCK_DIALOG_ERROR, 4)
                    infobar_error.show()
                else:
                    infobar_success.show()
        button_update.set_sensitive(True)
        response = dialog.run()

    dialog.hide()
Esempio n. 10
0
    def __init__(self):
        self.ui = Gtk.Builder()
        self.ui.add_from_file(os.path.join(work_path,"settings_dialog.ui"))

        self.window1 = self.ui.get_object('dialog1')
        self.window1.set_icon_from_file(os.path.join(os.path.split(work_path)[0], "icon.png"))

        self.list_o = self.ui.get_objects()
        self.dict_o = {}
        self.dict_o = localization.translate_ui(self.list_o, self.dict_o)
        self.window1.set_title(_('Preferences')+' Gis Weather #'+str(INSTANCE_NO))

        # General
        self.spinbutton_upd_time = self.ui.get_object('spinbutton_upd_time')
        self.spinbutton_upd_time.connect("value-changed", self.save_settings)
        self.switch_fix_BadDrawable = self.ui.get_object('switch_fix_BadDrawable')
        self.switch_fix_BadDrawable.connect("notify::active", self.save_settings)
        self.combobox_check_for_updates = self.ui.get_object('combobox_check_for_updates')
        self.combobox_check_for_updates.connect("changed", self.save_settings)
        self.button_city_id = self.ui.get_object('button_city_id')
        self.button_city_id.connect("clicked", App_gw.menu_response, 'edit_city_id')
        self.button_open_config_folder = self.ui.get_object('button_open_config_folder')
        self.button_open_config_folder.connect("clicked", App_gw.menu_response, 'edit')
        self.switch_autostart = self.ui.get_object('switch_autostart')
        self.switch_autostart.connect("notify::active", self.set_autorun)
        self.combobox_app_lang = self.ui.get_object('combobox_app_lang')
        self.combobox_app_lang.connect("changed", self.set_app_lang)
        self.combobox_weather_lang = self.ui.get_object('combobox_weather_lang')
        self.combobox_weather_lang.connect("changed", self.set_weather_lang)
        self.liststore1 = self.ui.get_object('liststore1')
        self.spinbutton_delay_start_time = self.ui.get_object('spinbutton_delay_start_time')
        self.spinbutton_delay_start_time.connect("value-changed", self.save_settings)
        self.label_delay_start_time = self.ui.get_object('label_delay_start_time')
        self.label_add_icon = self.ui.get_object('label_add_icon')
        self.switch_add_icon = self.ui.get_object('switch_add_icon')
        self.switch_add_icon.connect("notify::active", self.set_desktop)
        self.combobox_service = self.ui.get_object('combobox_service')
        self.combobox_service.connect("changed", self.set_service)
        self.liststore8 = self.ui.get_object('liststore8')
        self.button_refresh = self.ui.get_object('button_refresh')
        self.button_refresh.connect("clicked", self.refresh)
        self.frame_autostart1 = self.ui.get_object('frame_autostart1')
        self.frame_autostart2 = self.ui.get_object('frame_autostart2')
        self.spinbutton_instances_count = self.ui.get_object('spinbutton_instances_count')
        self.spinbutton_instances_count.connect("value-changed", self.save_settings)
        self.label_instances_count = self.ui.get_object('label_instances_count')

        
        self.clear_upd_time = self.ui.get_object('clear_upd_time')
        self.clear_upd_time.connect("clicked", self.clear_settings)
        self.clear_fix_BadDrawable = self.ui.get_object('clear_fix_BadDrawable')
        self.clear_fix_BadDrawable.connect("clicked", self.clear_settings)
        self.clear_check_for_updates = self.ui.get_object('clear_check_for_updates')
        self.clear_check_for_updates.connect("clicked", self.clear_settings)
        self.clear_delay_start_time = self.ui.get_object('clear_delay_start_time')
        self.clear_delay_start_time.connect("clicked", self.clear_settings)
        self.clear_instances_count = self.ui.get_object('clear_instances_count')
        self.clear_instances_count.connect("clicked", self.clear_settings)


        # Units
        self.combobox_t_scale = self.ui.get_object('combobox_t_scale')
        self.combobox_t_scale.connect("changed", self.save_settings)
        self.liststore7 = self.ui.get_object('liststore7')
        self.switch_t_feel = self.ui.get_object('switch_t_feel')
        self.switch_t_feel.connect("notify::active", self.save_settings)
        self.combobox_wind_units = self.ui.get_object('combobox_wind_units')
        self.combobox_wind_units.connect("changed", self.save_settings)
        self.liststore9 = self.ui.get_object('liststore9')
        self.combobox_press_units = self.ui.get_object('combobox_press_units')
        self.combobox_press_units.connect("changed", self.save_settings)
        self.liststore10 = self.ui.get_object('liststore10')
        self.combobox_date_separator = self.ui.get_object('combobox_date_separator')
        self.combobox_date_separator.connect("changed", self.set_date_separator)
        self.liststore15 = self.ui.get_object('liststore15')
        self.switch_swap_d_and_m = self.ui.get_object('switch_swap_d_and_m')
        self.switch_swap_d_and_m.connect("notify::active", self.save_settings)

        self.clear_t_scale = self.ui.get_object('clear_t_scale')
        self.clear_t_scale.connect("clicked", self.clear_settings)
        self.clear_t_feel = self.ui.get_object('clear_t_feel')
        self.clear_t_feel.connect("clicked", self.clear_settings)
        self.clear_wind_units = self.ui.get_object('clear_wind_units')
        self.clear_wind_units.connect("clicked", self.clear_settings)
        self.clear_press_units = self.ui.get_object('clear_press_units')
        self.clear_press_units.connect("clicked", self.clear_settings)


        # Window
        self.spinbutton_x_pos = self.ui.get_object('spinbutton_x_pos')
        self.spinbutton_x_pos.connect("value-changed", self.save_settings)
        self.spinbutton_y_pos = self.ui.get_object('spinbutton_y_pos')
        self.spinbutton_y_pos.connect("value-changed", self.save_settings)
        self.spinbutton_margin = self.ui.get_object('spinbutton_margin')
        self.spinbutton_margin.connect("value-changed", self.save_settings)
        self.spinbutton_opacity = self.ui.get_object('spinbutton_opacity')
        self.spinbutton_opacity.connect("value-changed", self.save_settings)
        self.switch_fix_position = self.ui.get_object('switch_fix_position')
        self.switch_fix_position.connect("notify::active", self.save_settings)
        self.switch_sticky = self.ui.get_object('switch_sticky')
        self.switch_sticky.connect("notify::active", self.save_settings)
        self.liststore5 = self.ui.get_object('liststore5')
        self.liststore6 = self.ui.get_object('liststore6')
        self.spinbutton_scale = self.ui.get_object('spinbutton_scale')
        self.spinbutton_scale.connect("value-changed", self.save_settings)
        self.switch_always_on_top = self.ui.get_object('switch_always_on_top')
        self.switch_always_on_top.connect("notify::active", self.save_settings)


        self.clear_x_pos = self.ui.get_object('clear_x_pos')
        self.clear_x_pos.connect("clicked", self.clear_settings)
        self.clear_margin = self.ui.get_object('clear_margin')
        self.clear_margin.connect("clicked", self.clear_settings)
        self.clear_y_pos = self.ui.get_object('clear_y_pos')
        self.clear_y_pos.connect("clicked", self.clear_settings)
        self.clear_opacity = self.ui.get_object('clear_opacity')
        self.clear_opacity.connect("clicked", self.clear_settings)
        self.clear_fix_position = self.ui.get_object('clear_fix_position')
        self.clear_fix_position.connect("clicked", self.clear_settings)
        self.clear_sticky = self.ui.get_object('clear_sticky')
        self.clear_sticky.connect("clicked", self.clear_settings)
        self.clear_scale = self.ui.get_object('clear_scale')
        self.clear_scale.connect("clicked", self.clear_settings)
        self.clear_always_on_top = self.ui.get_object('clear_always_on_top')
        self.clear_always_on_top.connect("clicked", self.clear_settings)

        # View
        
        self.switch_block_sunrise__show = self.ui.get_object("switch_block_sunrise__show")
        self.switch_block_sunrise__show.connect("notify::active", self.save_settings)
        self.switch_block_moonrise__show = self.ui.get_object("switch_block_moonrise__show")
        self.switch_block_moonrise__show.connect("notify::active", self.save_settings)
        self.switch_show_block_today = self.ui.get_object('switch_show_block_today')
        self.switch_show_block_today.connect("notify::active", self.save_settings)
        self.spinbutton_block_today_left = self.ui.get_object('spinbutton_block_today_left')
        self.spinbutton_block_today_left.connect("value-changed", self.save_settings)
        self.switch_show_block_tomorrow = self.ui.get_object('switch_show_block_tomorrow')
        self.switch_show_block_tomorrow.connect("notify::active", self.save_settings)
        self.spinbutton_block_tomorrow_left = self.ui.get_object('spinbutton_block_tomorrow_left')
        self.spinbutton_block_tomorrow_left.connect("value-changed", self.save_settings)
        self.switch_show_block_wind_direct = self.ui.get_object('switch_show_block_wind_direct')
        self.switch_show_block_wind_direct.connect("notify::active", self.save_settings)
        self.spinbutton_block_wind_direct_left = self.ui.get_object('spinbutton_block_wind_direct_left')
        self.spinbutton_block_wind_direct_left.connect("value-changed", self.save_settings)
        self.switch_wind_direct_small = self.ui.get_object('switch_wind_direct_small')
        self.switch_wind_direct_small.connect("notify::active", self.save_settings)
        self.spinbutton_angel = self.ui.get_object('spinbutton_angel')
        self.spinbutton_angel.connect("value-changed", self.save_settings)
        self.switch_show_block_add_info = self.ui.get_object('switch_show_block_add_info')
        self.switch_show_block_add_info.connect("notify::active", self.save_settings)
        self.spinbutton_block_add_info_left = self.ui.get_object('spinbutton_block_add_info_left')
        self.spinbutton_block_add_info_left.connect("value-changed", self.save_settings)
        self.spinbutton_n = self.ui.get_object('spinbutton_n')
        self.spinbutton_n.connect("value-changed", self.save_settings)
        self.switch_show_time_receive = self.ui.get_object('switch_show_time_receive')
        self.switch_show_time_receive.connect("notify::active", self.save_settings)
        self.switch_show_chance_of_rain = self.ui.get_object('switch_show_chance_of_rain')
        self.switch_show_chance_of_rain.connect("notify::active", self.save_settings)
        self.combobox_show_splash_screen = self.ui.get_object('combobox_show_splash_screen')
        self.combobox_show_splash_screen.connect("changed", self.save_settings)
        self.spinbutton_max_try_show = self.ui.get_object('spinbutton_max_try_show')
        self.spinbutton_max_try_show.connect("value-changed", self.save_settings)
        self.liststore2 = self.ui.get_object('liststore2')
        self.spinbutton_block_now_left = self.ui.get_object('spinbutton_block_now_left')
        self.spinbutton_block_now_left.connect("value-changed", self.save_settings)
        self.adjustment_n_max = self.ui.get_object('adjustment_n_max')


        self.clear_block_sunrise__show = self.ui.get_object('clear_block_sunrise__show')
        self.clear_block_sunrise__show.connect("clicked", self.clear_settings)
        self.clear_block_moonrise__show = self.ui.get_object('clear_block_moonrise__show')
        self.clear_block_moonrise__show.connect("clicked", self.clear_settings) 
        self.clear_show_block_today = self.ui.get_object('clear_show_block_today')
        self.clear_show_block_today.connect("clicked", self.clear_settings)
        self.clear_block_today_left = self.ui.get_object('clear_block_today_left')
        self.clear_block_today_left.connect("clicked", self.clear_settings)
        self.clear_show_block_tomorrow = self.ui.get_object('clear_show_block_tomorrow')
        self.clear_show_block_tomorrow.connect("clicked", self.clear_settings)
        self.clear_block_tomorrow_left = self.ui.get_object('clear_block_tomorrow_left')
        self.clear_block_tomorrow_left.connect("clicked", self.clear_settings)
        self.clear_show_block_wind_direct = self.ui.get_object('clear_show_block_wind_direct')
        self.clear_show_block_wind_direct.connect("clicked", self.clear_settings)
        self.clear_block_wind_direct_left = self.ui.get_object('clear_block_wind_direct_left')
        self.clear_block_wind_direct_left.connect("clicked", self.clear_settings)
        self.clear_wind_direct_small = self.ui.get_object('clear_wind_direct_small')
        self.clear_wind_direct_small.connect("clicked", self.clear_settings)
        self.clear_angel = self.ui.get_object('clear_angel')
        self.clear_angel.connect("clicked", self.clear_settings)
        self.clear_show_block_add_info = self.ui.get_object('clear_show_block_add_info')
        self.clear_show_block_add_info.connect("clicked", self.clear_settings)
        self.clear_block_add_info_left = self.ui.get_object('clear_block_add_info_left')
        self.clear_block_add_info_left.connect("clicked", self.clear_settings)
        self.clear_n = self.ui.get_object('clear_n')
        self.clear_n.connect("clicked", self.clear_settings)
        self.clear_show_time_receive = self.ui.get_object('clear_show_time_receive')
        self.clear_show_time_receive.connect("clicked", self.clear_settings)
        self.clear_show_chance_of_rain = self.ui.get_object('clear_show_chance_of_rain')
        self.clear_show_chance_of_rain.connect("clicked", self.clear_settings)
        self.clear_show_splash_screen = self.ui.get_object('clear_show_splash_screen')
        self.clear_show_splash_screen.connect("clicked", self.clear_settings)
        self.clear_max_try_show = self.ui.get_object('clear_max_try_show')
        self.clear_max_try_show.connect("clicked", self.clear_settings)
        self.clear_block_now_left = self.ui.get_object('clear_block_now_left')
        self.clear_block_now_left.connect("clicked", self.clear_settings)

        # Appearance
        self.fontbutton_font = self.ui.get_object('fontbutton_font')
        self.fontbutton_font.connect("font-set", self.set_font)
        self.colorbutton_color_text = self.ui.get_object('colorbutton_color_text')
        self.colorbutton_color_text.connect("color-set", self.set_color)
        self.colorbutton_color_text_week = self.ui.get_object('colorbutton_color_text_week')
        self.colorbutton_color_text_week.connect("color-set", self.set_color)
        self.entry_weekend = self.ui.get_object('entry_weekend')
        # self.entry_weekend.connect("color-set", self.set_color) FIXME
        self.colorbutton_color_shadow = self.ui.get_object('colorbutton_color_shadow')
        self.colorbutton_color_shadow.connect("color-set", self.set_color)
        self.colorbutton_color_high_wind = self.ui.get_object('colorbutton_color_high_wind')
        self.colorbutton_color_high_wind.connect("color-set", self.set_color)
        self.colorbutton_color_bg = self.ui.get_object('colorbutton_color_bg')
        self.colorbutton_color_bg.connect("color-set", self.set_color)
        self.switch_draw_shadow = self.ui.get_object('switch_draw_shadow')
        self.switch_draw_shadow.connect("notify::active", self.save_settings)
        self.spinbutton_high_wind = self.ui.get_object('spinbutton_high_wind')
        self.spinbutton_high_wind.connect("value-changed", self.save_settings)
        self.switch_show_bg_png = self.ui.get_object('switch_show_bg_png')
        self.switch_show_bg_png.connect("notify::active", self.save_settings)
        self.spinbutton_r = self.ui.get_object('spinbutton_r')
        self.spinbutton_r.connect("value-changed", self.save_settings)
        self.frame_image = self.ui.get_object('frame_image')
        self.frame_not_image = self.ui.get_object('frame_not_image')
        self.combobox_desc_style = self.ui.get_object('combobox_desc_style')
        self.combobox_desc_style.connect("changed", self.save_settings)

        self.combobox_icons_name = self.ui.get_object('combobox_icons_name')
        self.combobox_icons_name.connect("changed", self.set_icon_bg)
        self.liststore3 = self.ui.get_object('liststore3')
        self.combobox_bg_custom = self.ui.get_object('combobox_bg_custom')
        self.combobox_bg_custom.connect("changed", self.set_icon_bg)
        self.liststore4 = self.ui.get_object('liststore4')


        self.clear_font = self.ui.get_object('clear_font')
        self.clear_font.connect("clicked", self.clear_settings)
        self.clear_color_text = self.ui.get_object('clear_color_text')
        self.clear_color_text.connect("clicked", self.clear_settings)
        self.clear_color_text_week = self.ui.get_object('clear_color_text_week')
        self.clear_color_text_week.connect("clicked", self.clear_settings)
        self.clear_color_shadow = self.ui.get_object('clear_color_shadow')
        self.clear_color_shadow.connect("clicked", self.clear_settings)
        self.clear_color_high_wind = self.ui.get_object('clear_color_high_wind')
        self.clear_color_high_wind.connect("clicked", self.clear_settings)
        self.clear_color_bg = self.ui.get_object('clear_color_bg')
        self.clear_color_bg.connect("clicked", self.clear_settings)
        self.clear_draw_shadow = self.ui.get_object('clear_draw_shadow')
        self.clear_draw_shadow.connect("clicked", self.clear_settings)
        self.clear_high_wind = self.ui.get_object('clear_high_wind')
        self.clear_high_wind.connect("clicked", self.clear_settings)
        self.clear_show_bg_png = self.ui.get_object('clear_show_bg_png')
        self.clear_show_bg_png.connect("clicked", self.clear_settings)
        self.clear_r = self.ui.get_object('clear_r')
        self.clear_r.connect("clicked", self.clear_settings)
        self.clear_icons_name = self.ui.get_object('clear_icons_name')
        self.clear_icons_name.connect("clicked", self.clear_settings)
        self.clear_bg_custom = self.ui.get_object('clear_bg_custom')
        self.clear_bg_custom.connect("clicked", self.clear_settings)
        self.clear_weekend = self.ui.get_object('clear_weekend')
        self.clear_weekend.connect("clicked", self.clear_settings)
        self.clear_desc_style = self.ui.get_object('clear_desc_style')
        self.clear_desc_style.connect("clicked", self.clear_settings)


        # Indicator
        self.combobox_show_indicator = self.ui.get_object('combobox_show_indicator')
        self.combobox_show_indicator.connect("changed", self.save_settings)
        self.liststore11 = self.ui.get_object('liststore11')
        self.combobox_indicator_is_appindicator = self.ui.get_object('combobox_indicator_is_appindicator')
        self.combobox_indicator_is_appindicator.connect("changed", self.save_settings)
        self.liststore12 = self.ui.get_object('liststore12')
        self.combobox_indicator_icons_name = self.ui.get_object('combobox_indicator_icons_name')
        self.combobox_indicator_icons_name.connect("changed", self.set_icon_bg)
        self.liststore13 = self.ui.get_object('liststore13')
        self.switch_indicator_draw_shadow = self.ui.get_object('switch_indicator_draw_shadow')
        self.switch_indicator_draw_shadow.connect("notify::active", self.save_settings)
        self.fontbutton_indicator_font = self.ui.get_object('fontbutton_indicator_font')
        self.fontbutton_indicator_font.connect("font-set", self.set_font)
        self.colorbutton_indicator_color_text = self.ui.get_object('colorbutton_indicator_color_text')
        self.colorbutton_indicator_color_text.connect("color-set", self.set_color)
        self.colorbutton_indicator_color_shadow = self.ui.get_object('colorbutton_indicator_color_shadow')
        self.colorbutton_indicator_color_shadow.connect("color-set", self.set_color)
        self.frame_status_icon = self.ui.get_object('frame_status_icon')
        self.spinbutton_indicator_top = self.ui.get_object('spinbutton_indicator_top')
        self.spinbutton_indicator_top.connect("value-changed", self.save_settings)
        self.spinbutton_indicator_width = self.ui.get_object('spinbutton_indicator_width')
        self.spinbutton_indicator_width.connect("value-changed", self.save_settings)
        self.frame_app_indicator = self.ui.get_object('frame_app_indicator')
        self.spinbutton_app_indicator_size = self.ui.get_object('spinbutton_app_indicator_size')
        self.spinbutton_app_indicator_size.connect("value-changed", self.save_settings)
        self.switch_app_indicator_fix_size = self.ui.get_object('switch_app_indicator_fix_size')
        self.switch_app_indicator_fix_size.connect("notify::active", self.save_settings)
        self.switch_show_indicator_text = self.ui.get_object('switch_show_indicator_text')
        self.switch_show_indicator_text.connect("notify::active", self.save_settings)

        self.clear_show_indicator = self.ui.get_object('clear_show_indicator')
        self.clear_show_indicator.connect("clicked", self.clear_settings)
        self.clear_indicator_draw_shadow = self.ui.get_object('clear_indicator_draw_shadow')
        self.clear_indicator_draw_shadow.connect("clicked", self.clear_settings)
        self.clear_indicator_font = self.ui.get_object('clear_indicator_font')
        self.clear_indicator_font.connect("clicked", self.clear_settings)
        self.clear_indicator_top = self.ui.get_object('clear_indicator_top')
        self.clear_indicator_top.connect("clicked", self.clear_settings)
        self.clear_indicator_width = self.ui.get_object('clear_indicator_width')
        self.clear_indicator_width.connect("clicked", self.clear_settings)
        self.clear_app_indicator_size = self.ui.get_object('clear_app_indicator_size')
        self.clear_app_indicator_size.connect("clicked", self.clear_settings)
        self.clear_app_indicator_fix_size = self.ui.get_object('clear_app_indicator_fix_size')
        self.clear_app_indicator_fix_size.connect("clicked", self.clear_settings)
        
        if WIN:
            self.clear_delay_start_time.hide()
            self.spinbutton_delay_start_time.hide()
            self.label_delay_start_time.hide()

            self.switch_add_icon.hide()
            self.label_add_icon.hide()

            self.clear_instances_count.hide()
            self.label_instances_count.hide()
            self.spinbutton_instances_count.hide()

        self.button_close = self.ui.get_object('button_close')
        self.button_close.connect("clicked", self.close_window)

        self.window1.connect("delete_event", self.close_window)
        self.window1.show()