aboutsummaryrefslogtreecommitdiff
path: root/example/simple-client-vala.vala
diff options
context:
space:
mode:
Diffstat (limited to 'example/simple-client-vala.vala')
-rw-r--r--example/simple-client-vala.vala170
1 files changed, 0 insertions, 170 deletions
diff --git a/example/simple-client-vala.vala b/example/simple-client-vala.vala
deleted file mode 100644
index 61e0c2f..0000000
--- a/example/simple-client-vala.vala
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
-A small piece of sample code demonstrating a very simple application
-with an indicator.
-
-Copyright 2011 Canonical Ltd.
-
-Authors:
- Marco Trevisan <mail@3v1n0.net>
-
-This program is free software: you can redistribute it and/or modify it
-under the terms of the GNU General Public License version 3, as published
-by the Free Software Foundation.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranties of
-MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
-PURPOSE. See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-using Gtk;
-using AppIndicator;
-
-static int main(string[] args) {
- var sc = new SimpleClient(args);
- sc.run();
- return 0;
-}
-
-class SimpleClient {
- Menu menu;
- Indicator ci;
- int percentage;
- bool active;
- bool can_haz_label;
-
- public SimpleClient(string[] args) {
- Gtk.init(ref args);
-
- ci = new Indicator("example-simple-client",
- "indicator-messages",
- IndicatorCategory.APPLICATION_STATUS);
-
- ci.set_status(IndicatorStatus.ACTIVE);
- ci.set_attention_icon("indicator-messages-new");
- ci.set_label("1%", "100%");
-
- active = true;
- can_haz_label = true;
- }
-
- private void toggle_sensitivity(Widget widget) {
- widget.set_sensitive(!widget.is_sensitive());
- }
-
- private void append_submenu(MenuItem item) {
- var menu = new Menu();
- MenuItem mi;
-
- mi = new MenuItem.with_label("Sub 1");
- menu.append(mi);
- mi.activate.connect(() => { print("Sub1\n"); });
-
- MenuItem prev_mi = mi;
- mi = new MenuItem.with_label("Sub 2");
- menu.append(mi);
- mi.activate.connect(() => { toggle_sensitivity(prev_mi); });
-
- mi = new MenuItem.with_label("Sub 3");
- menu.append(mi);
- mi.activate.connect(() => { print("Sub3\n"); });
-
- menu.show_all();
- item.set_submenu(menu);
- }
-
- private void label_toggle(MenuItem item) {
- can_haz_label = !can_haz_label;
-
- if (can_haz_label) {
- item.set_label("Hide label");
- } else {
- item.set_label("Show label");
- }
- }
-
- public void run() {
-
- ci.scroll_event.connect((delta, direction) => {
- print(@"Got scroll event! delta: $delta, direction: $direction\n");
- });
-
- Timeout.add_seconds(1, () => {
- percentage = (percentage + 1) % 100;
- if (can_haz_label) {
- ci.set_label(@"$(percentage+1)%", "");
- } else {
- ci.set_label("", "");
- }
- return true;
- });
-
- menu = new Menu();
- var chk = new CheckMenuItem.with_label("1");
- chk.activate.connect(() => { print("1\n"); });
- menu.append(chk);
- chk.show();
-
- var radio = new RadioMenuItem.with_label(new SList<RadioMenuItem>(), "2");
- radio.activate.connect(() => { print("2\n"); });
- menu.append(radio);
- radio.show();
-
- var submenu = new MenuItem.with_label("3");
- menu.append(submenu);
- append_submenu(submenu);
- submenu.show();
-
- var toggle_item = new MenuItem.with_label("Toggle 3");
- toggle_item.activate.connect(() => { toggle_sensitivity(submenu); });
- menu.append(toggle_item);
- toggle_item.show();
-
- var imgitem = new ImageMenuItem.from_stock(Stock.NEW, null);
- imgitem.activate.connect(() => {
- Image img = (Image) imgitem.get_image();
- img.set_from_stock(Stock.OPEN, IconSize.MENU);
- });
- menu.append(imgitem);
- imgitem.show();
-
- var att = new MenuItem.with_label("Get Attention");
- att.activate.connect(() => {
- if (active) {
- ci.set_status(IndicatorStatus.ATTENTION);
- att.set_label("I'm okay now");
- active = false;
- } else {
- ci.set_status(IndicatorStatus.ACTIVE);
- att.set_label("Get Attention");
- active = false;
- }
- });
- menu.append(att);
- att.show();
-
- var show = new MenuItem.with_label("Show Label");
- label_toggle(show);
- show.activate.connect(() => { label_toggle(show); });
- menu.append(show);
- show.show();
-
- var icon = new CheckMenuItem.with_label("Set Local Icon");
- icon.activate.connect(() => {
- if (icon.get_active()) {
- ci.set_icon("simple-client-test-icon.png");
- } else {
- ci.set_icon("indicator-messages");
- }
- });
- menu.append(icon);
- icon.show();
-
- ci.set_menu(menu);
-
- Gtk.main();
- }
-}