From 47e8f457a9b17fdc3fc1aa6bb85763b81d9d6983 Mon Sep 17 00:00:00 2001 From: glenux Date: Wed, 20 Jul 2011 22:49:07 +0000 Subject: [PATCH] qasim gui: Cleanup & moved constants in separate file. git-svn-id: https://websvn.glenux.net/svn/Upoc/sshfs-mapper/trunk@1704 eaee96b3-f302-0410-b096-c6cfd47f7835 --- bin/qasim-cli.rb | 10 +-- bin/qasim-gui.rb | 165 +++++++++++++++++++++++---------------------- qasim/constants.rb | 4 +- 3 files changed, 92 insertions(+), 87 deletions(-) diff --git a/bin/qasim-cli.rb b/bin/qasim-cli.rb index 5bcb6c9..64e10c6 100755 --- a/bin/qasim-cli.rb +++ b/bin/qasim-cli.rb @@ -4,12 +4,12 @@ $DEBUG = true $VERBOSE = true require 'pp' -require 'sshfs-mapper/config' -require 'sshfs-mapper/map' +require 'qasim/config' +require 'qasim/map' -module SshfsMapper +module Qasim - class SshfsMapper + class QasimCli # # # @@ -69,7 +69,7 @@ module SshfsMapper end end -app = SshfsMapper::SshfsMapper.new +app = Qasim::Qasim.new app.run diff --git a/bin/qasim-gui.rb b/bin/qasim-gui.rb index b2a6bc4..5294174 100755 --- a/bin/qasim-gui.rb +++ b/bin/qasim-gui.rb @@ -18,103 +18,106 @@ end module Qasim + class QasimGui - NAME="Qasim" - VERSION="0.1" - def dbus_notify title, body, icon - bus = Qt::DBusConnection.sessionBus - if !bus.connected? - $stderr.puts("Cannot connect to the D-BUS session bus.\n" \ - "To start it, run:\n" \ - "\teval `dbus-launch --auto-syntax`\n") - exit 1 + def initialize end - msg = Qt::DBusMessage.create_method_call( 'org.freedesktop.Notifications', - '/org/freedesktop/Notifications', - 'org.freedesktop.Notifications', - 'Notify' ) - msg.arguments = [ NAME, Qt::Variant.from_value( 0, "unsigned int" ), - icon, title, body, [], {}, -1 ] - rep = bus.call( msg ) - # if rep.type == Qt::DBusMessage - # si.showMessage("Qasim", - # "Sorry dude", 2, 5000 ) - end - - def build_app - - app = Qt::Application.new(ARGV) - si = Qt::SystemTrayIcon.new - - std_icon = Qt::Icon.new( File.join ICON_PATH, "qasim.svg" ) - alt_icon = Qt::Icon.new - blinking = false - - si.icon = std_icon - si.show - dbus_notify "Hello", "World", 'dialog-information' - - - si.setToolTip("Qasim %s" % VERSION); - - Qt::Timer.new(app) do |timer| - timer.connect(SIGNAL('timeout()')) do - si.icon = (si.icon.isNull ? std_icon : alt_icon) if blinking + def dbus_notify title, body, icon + bus = Qt::DBusConnection.sessionBus + if !bus.connected? + $stderr.puts("Cannot connect to the D-BUS session bus.\n" \ + "To start it, run:\n" \ + "\teval `dbus-launch --auto-syntax`\n") + exit 1 end - timer.start(500) + msg = Qt::DBusMessage.create_method_call( 'org.freedesktop.Notifications', + '/org/freedesktop/Notifications', + 'org.freedesktop.Notifications', + 'Notify' ) + msg.arguments = [ NAME, Qt::Variant.from_value( 0, "unsigned int" ), + icon, title, body, [], {}, -1 ] + rep = bus.call( msg ) + # if rep.type == Qt::DBusMessage + + # si.showMessage("Qasim", + # "Sorry dude", 2, 5000 ) end - menu = Qt::Menu.new + def self.build_app - ['Diades', 'Daneel', 'Dolos'].each do |name| - itemx = Qt::Action.new(name, menu) - itemx.setCheckable true; - itemx.connect(SIGNAL(:triggered)) do - puts "%s => %s" % [name, itemx.checked ] + app = Qt::Application.new(ARGV) + si = Qt::SystemTrayIcon.new + + std_icon = Qt::Icon.new( File.join APP_ICON_PATH, "qasim.svg" ) + alt_icon = Qt::Icon.new + blinking = false + + si.icon = std_icon + si.show + dbus_notify "Hello", "World", 'dialog-information' + + + si.setToolTip("Qasim %s" % VERSION); + + Qt::Timer.new(app) do |timer| + timer.connect(SIGNAL('timeout()')) do + si.icon = (si.icon.isNull ? std_icon : alt_icon) if blinking + end + timer.start(500) end - menu.addAction itemx; - end - menu.addSeparator + menu = Qt::Menu.new - act_pref = Qt::Action.new _('&Preferences'), menu - act_pref.setIcon( Qt::Icon::fromTheme("configure") ) - act_pref.setIconVisibleInMenu true - menu.addAction act_pref; - - act_about = Qt::Action.new '&About', menu - act_about.setIcon( Qt::Icon::fromTheme("help-about") ) - act_about.setIconVisibleInMenu true - menu.addAction act_about; - - menu.addSeparator - - act_quit = Qt::Action.new _('Quit'), menu - act_quit.setIcon( Qt::Icon::fromTheme("application-exit") ) - act_quit.setIconVisibleInMenu true - act_quit.connect(SIGNAL(:triggered)) { app.quit } - menu.addAction act_quit - - si.contextMenu = menu - - si.connect(SIGNAL('activated(QSystemTrayIcon::ActivationReason)')) do |reason| - case reason - when Qt::SystemTrayIcon::Trigger - blinking = !blinking - si.icon = blinking ? alt_icon : std_icon - when Qt::SystemTrayIcon::MiddleClick: puts 'Middle Click' - when Qt::SystemTrayIcon::Context: puts 'Right Click' - when Qt::SystemTrayIcon::DoubleClick: puts 'Double Click' + ['Diades', 'Daneel', 'Dolos'].each do |name| + itemx = Qt::Action.new(name, menu) + itemx.setCheckable true; + itemx.connect(SIGNAL(:triggered)) do + puts "%s => %s" % [name, itemx.checked ] + end + menu.addAction itemx; end + + menu.addSeparator + + act_pref = Qt::Action.new _('&Preferences'), menu + act_pref.setIcon( Qt::Icon::fromTheme("configure") ) + act_pref.setIconVisibleInMenu true + menu.addAction act_pref; + + act_about = Qt::Action.new '&About', menu + act_about.setIcon( Qt::Icon::fromTheme("help-about") ) + act_about.setIconVisibleInMenu true + menu.addAction act_about; + + menu.addSeparator + + act_quit = Qt::Action.new _('Quit'), menu + act_quit.setIcon( Qt::Icon::fromTheme("application-exit") ) + act_quit.setIconVisibleInMenu true + act_quit.connect(SIGNAL(:triggered)) { app.quit } + menu.addAction act_quit + + si.contextMenu = menu + + si.connect(SIGNAL('activated(QSystemTrayIcon::ActivationReason)')) do |reason| + case reason + when Qt::SystemTrayIcon::Trigger + blinking = !blinking + si.icon = blinking ? alt_icon : std_icon + when Qt::SystemTrayIcon::MiddleClick: puts 'Middle Click' + when Qt::SystemTrayIcon::Context: puts 'Right Click' + when Qt::SystemTrayIcon::DoubleClick: puts 'Double Click' + end + end + + app.exec end - app.exec end end -include Qasim -Qasim::build_app +Qasim::QasimGui::build_app diff --git a/qasim/constants.rb b/qasim/constants.rb index 0dcb126..f61c5f5 100644 --- a/qasim/constants.rb +++ b/qasim/constants.rb @@ -1,3 +1,5 @@ module Qasim - ICON_PATH = "icons" + APP_ICON_PATH = "icons" + APP_NAME="Qasim" + APP_VERSION="0.1" end