class ManabuDesktop::Screens::Login
Constants
- CACHE_FILE_NAME
Attributes
cache_info[RW]
client[RW]
Public Class Methods
new()
click to toggle source
Calls superclass method
ManabuDesktop::Screens::Base::new
# File lib/screens/login.rb, line 14 def initialize() super('login') _load_cache() @window.resizable = false @builder.get_object('server.Label').set_label(I18n.t('login.server')) @server_comboBoxText = @builder.get_object('server.ComboBoxText') @builder.get_object('secure.Label').set_label(I18n.t('login.secure')) @server_secure_switch = @builder.get_object('secure.Switch') @cache_info[:servers].each{ |server| @server_comboBoxText.append_text(server[:addr])} if (@cache_info[:servers].length > 0) @server_comboBoxText.set_active(0) @server_secure_switch.active = @cache_info[:servers][0][:secure] end # TODO: set server details when selection is changed # TODO: allow deletion of a server entry # TODO: save new servers @builder.get_object('user.Label').set_label(I18n.t('login.user')) @user_entry = @builder.get_object('user.Entry') @builder.get_object('password.Label').set_label(I18n.t('login.password')) @password_entry = @builder.get_object('password.Entry') @builder.get_object('toolbox.Label').set_label(I18n.t('login.toolbox')) @open_toolbox_switch = @builder.get_object('toolbox.Switch') engage_button = @builder.get_object('engage.Button') engage_button.set_label(I18n.t('login.engage')) engage_button.signal_connect('clicked') { _engage(@server_comboBoxText.active_text, @server_secure_switch.active?, @user_entry.text, @password_entry.text) } _show() end
Public Instance Methods
_engage(server, secure, user, password)
click to toggle source
Attempt to engage a connection with the given prarameters
# File lib/screens/login.rb, line 69 def _engage(server, secure, user, password) addr = /^[^:|^\/]*[^:|^\/]/.match(server) # server part port = /[^:]\d[^\D]*/.match(server).to_s.to_i # port part port = 80 if (port == 0) route = /\/.*$/.match(server) #route part # TODO: first check if a session is already open to this server/port/user @client = Manabu::Client.new(user, password, "#{addr}#{route}", port, force_secure_connection: secure) if @client.status == :connected ManabuDesktop::Sessions.add_session(@client) if @open_toolbox_switch.active? _open_toolbox(@client) else @window.destroy end end end
_load_cache()
click to toggle source
# File lib/screens/login.rb, line 54 def _load_cache() @cache_info = ManabuDesktop::Util::Cache.load(CACHE_FILE_NAME) if (@cache_info === {} || !@cache_info.includes?(:servers) || !@cache_info[:servers].instance_of?(Array)) @cache_info = { servers: [{addr: 'localhost:9000', secure: false}] } end end
_open_toolbox(client)
click to toggle source
# File lib/screens/login.rb, line 88 def _open_toolbox(client) @window.destroy ManabuDesktop::Screens::ToolBox.new(client) end
_save_cache()
click to toggle source
# File lib/screens/login.rb, line 64 def _save_cache() end
_update_server_list()
click to toggle source
# File lib/screens/login.rb, line 93 def _update_server_list() end