Class: ManabuDesktop::Screens::Login
Constant Summary collapse
- CACHE_FILE_NAME =
"login_cache.manabu"
Instance Attribute Summary collapse
-
#cache_info ⇒ Object
Returns the value of attribute cache_info.
-
#client ⇒ Object
Returns the value of attribute client.
Attributes inherited from Base
Instance Method Summary collapse
-
#_engage(server, secure, user, password) ⇒ Object
Attempt to engage a connection with the given prarameters.
- #_load_cache ⇒ Object
- #_open_toolbox(client) ⇒ Object
- #_save_cache ⇒ Object
- #_update_server_list ⇒ Object
-
#initialize ⇒ Login
constructor
A new instance of Login.
Methods inherited from Base
Constructor Details
#initialize ⇒ Login
Returns a new instance of Login.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# 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') = @builder.get_object('engage.Button') .set_label(I18n.t('login.engage')) .signal_connect('clicked') { _engage(@server_comboBoxText.active_text, @server_secure_switch.active?, @user_entry.text, @password_entry.text) } _show() end |
Instance Attribute Details
#cache_info ⇒ Object
Returns the value of attribute cache_info.
10 11 12 |
# File 'lib/screens/login.rb', line 10 def cache_info @cache_info end |
#client ⇒ Object
Returns the value of attribute client.
10 11 12 |
# File 'lib/screens/login.rb', line 10 def client @client end |
Instance Method Details
#_engage(server, secure, user, password) ⇒ Object
Attempt to engage a connection with the given prarameters
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# 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 ⇒ Object
54 55 56 57 58 59 60 61 62 |
# 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) ⇒ Object
88 89 90 91 |
# File 'lib/screens/login.rb', line 88 def _open_toolbox(client) @window.destroy ManabuDesktop::Screens::ToolBox.new(client) end |
#_save_cache ⇒ Object
64 65 66 |
# File 'lib/screens/login.rb', line 64 def _save_cache() end |
#_update_server_list ⇒ Object
93 94 |
# File 'lib/screens/login.rb', line 93 def _update_server_list() end |