~ubuntu-branches/ubuntu/oneiric/gwibber/oneiric

« back to all changes in this revision

Viewing changes to .pc/hide_image_uploader.patch/client/gwibber-preferences.vala

  • Committer: Bazaar Package Importer
  • Author(s): Ken VanDine
  • Date: 2011-08-25 16:48:52 UTC
  • Revision ID: james.westby@ubuntu.com-20110825164852-asfoybd05xqlrw5m
Tags: 3.1.6-0ubuntu2
* debian/patches/hide_image_uploader.patch
  - image uploading never made it into the UI, so hiding the setting 
    in the preferences dialog.  

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (C) 2010 Canonical Ltd.
 
3
 *
 
4
 * This program is free software: you can redistribute it and/or modify it 
 
5
 * under the terms of the GNU General Public License version 3, as published 
 
6
 * by the Free Software Foundation.
 
7
 
 
8
 * This program is distributed in the hope that it will be useful, but 
 
9
 * WITHOUT ANY WARRANTY; without even the implied warranties of 
 
10
 * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR 
 
11
 * PURPOSE.  See the GNU General Public License for more details.
 
12
 
 
13
 * You should have received a copy of the GNU General Public License along 
 
14
 * with this program.  If not, see <http://www.gnu.org/licenses/>.
 
15
 *
 
16
 * Authored by Ken VanDine <ken.vandine@canonical.com>
 
17
 */
 
18
 
 
19
public class GwibberPreferences : GLib.Object
 
20
{
 
21
    public Gtk.Builder builder;
 
22
 
 
23
    public GwibberPreferences ()
 
24
    {
 
25
        Object ();
 
26
    }
 
27
 
 
28
    construct
 
29
    {
 
30
        try {
 
31
            builder = new Gtk.Builder ();
 
32
            builder.add_from_file ("/usr/share/gwibber/ui/gwibber-preferences-dialog.ui");
 
33
            builder.connect_signals (null);
 
34
            var dialog = builder.get_object ("prefs_dialog") as Gtk.Dialog;
 
35
            dialog.set_wmclass("gwibber", "Gwibber");
 
36
            dialog.set_title(_("Broadcast Messaging Preferences"));
 
37
            dialog.show_all ();
 
38
        } catch (Error e) {
 
39
            error ("Could not load UI: %s", e.message);
 
40
        }
 
41
 
 
42
        var image_uploader_container = builder.get_object("image_uploader") as Gtk.VBox;
 
43
        var urlshortener_container = builder.get_object("urlshorter") as Gtk.VBox;
 
44
 
 
45
        var settings = new GLib.Settings ("org.gwibber.preferences");
 
46
 
 
47
        var BOOL_SETTINGS = new GLib.List<string> ();
 
48
        var INT_SETTINGS = new GLib.List<string> ();
 
49
        var STRING_SETTINGS = new GLib.List<string> ();
 
50
        STRING_SETTINGS.append("image-uploader");
 
51
        STRING_SETTINGS.append("urlshorter");
 
52
        //foreach (string key in STRING_SETTINGS) {
 
53
        //    settings.bind(key, builder.get_object(key), "value", GLib.SettingsBindFlags.DEFAULT);
 
54
        //}
 
55
 
 
56
        var image_uploader = new Gtk.ComboBoxText ();
 
57
        image_uploader.append("yfrog", "yfrog");
 
58
        image_uploader.append("imageshack", "ImageShack");
 
59
        image_uploader_container.add(image_uploader);
 
60
        settings.bind("image-uploader", image_uploader, "active_id", GLib.SettingsBindFlags.DEFAULT);
 
61
        image_uploader_container.show_all ();
 
62
 
 
63
        image_uploader.changed.connect(() => {
 
64
          settings.set_string("image-uploader", image_uploader.active_id);
 
65
          });
 
66
 
 
67
        var urlshortener = new Gtk.ComboBoxText ();
 
68
        urlshortener.append("is.gd", "is.gd");
 
69
        urlshortener.append("tinyurl.com", "tinyurl.com");
 
70
        urlshortener.append("ur1.ca", "ur1.ca");
 
71
        urlshortener.append("cli.gs", "cli.gs");
 
72
        urlshortener_container.add(urlshortener);
 
73
        settings.bind("urlshorter", urlshortener, "active_id", GLib.SettingsBindFlags.DEFAULT);
 
74
        urlshortener_container.show_all ();
 
75
 
 
76
        urlshortener.changed.connect(() => {
 
77
          settings.set_string("urlshorter", urlshortener.active_id);
 
78
          });
 
79
 
 
80
        INT_SETTINGS.append("interval");
 
81
        foreach (string key in INT_SETTINGS) {
 
82
            settings.bind(key, builder.get_object(key), "value", GLib.SettingsBindFlags.DEFAULT);
 
83
        }
 
84
 
 
85
        BOOL_SETTINGS.append("no-notifications");
 
86
        BOOL_SETTINGS.append("notify-mentions-only");
 
87
        BOOL_SETTINGS.append("show-notifications");
 
88
        //BOOL_SETTINGS.append("presence-check");
 
89
        BOOL_SETTINGS.append("show-fullname");
 
90
        BOOL_SETTINGS.append("reply-append-colon");
 
91
        BOOL_SETTINGS.append("shorten-urls");
 
92
        BOOL_SETTINGS.append("autostart");
 
93
        foreach (string key in BOOL_SETTINGS) {
 
94
            settings.bind(key, builder.get_object(key), "active", GLib.SettingsBindFlags.DEFAULT);
 
95
        }
 
96
    }
 
97
 
 
98
    public void on_close_button_clicked() {
 
99
        Gtk.main_quit();
 
100
    }
 
101
 
 
102
    public void on_prefs_dialog_destroy_event() {
 
103
        Gtk.main_quit();
 
104
    }
 
105
}
 
106
 
 
107
int main (string[] args) {     
 
108
    Gtk.init (ref args);
 
109
 
 
110
    var p = new GwibberPreferences ();
 
111
    Gtk.main ();
 
112
 
 
113
    return 0;
 
114
}