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
- #_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 |
# 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')) @builder.get_object('secure.Label').set_label(I18n.t('login.secure')) @server_comboBoxText = @builder.get_object('server.ComboBoxText') @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('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
63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/screens/login.rb', line 63 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) _open_toolbox(@client) end end |
#_load_cache ⇒ Object
49 50 51 52 53 54 55 56 57 |
# File 'lib/screens/login.rb', line 49 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
78 79 80 81 |
# File 'lib/screens/login.rb', line 78 def _open_toolbox(client) @window.destroy ManabuDesktop::Screens::ToolBox.new(client) end |
#_save_cache ⇒ Object
59 60 61 |
# File 'lib/screens/login.rb', line 59 def _save_cache() end |
#_update_server_list ⇒ Object
83 84 |
# File 'lib/screens/login.rb', line 83 def _update_server_list() end |