jackdanielz pushed a commit to branch master.
commit 47ee4cc859e922b691a8bc64f8289fd1226c8eb7
Author: Daniel Zaoui <[email protected]>
Date: Sun May 26 09:52:59 2013 +0300
Clouseau: add possibility to give the IP and port as parameters.
Now, you can execute clouseau_client with the optional parameters ip and
port. The format is clouseau_client [ip:[port]].
---
src/bin/clouseau_client.c | 142 ++++++++++++++++++++++++----------------------
1 file changed, 75 insertions(+), 67 deletions(-)
diff --git a/src/bin/clouseau_client.c b/src/bin/clouseau_client.c
index c0cc0ed..bcabe5e 100644
--- a/src/bin/clouseau_client.c
+++ b/src/bin/clouseau_client.c
@@ -1951,6 +1951,7 @@ main(int argc, char **argv)
setenv("ELM_CLOUSEAU", "0", 1);
elm_init(argc, argv);
+ if (argc == 2) gui->address = strdup(argv[1]); // if the user executes the
client with ip and port in the arguments line
gui->win = win = elm_win_util_standard_add("client", CLIENT_NAME);
elm_win_autodel_set(win, EINA_TRUE);
@@ -2011,73 +2012,80 @@ main(int argc, char **argv)
ecore_con_init();
clouseau_data_init();
- /* START - Popup to get IP, PORT from user */
- gui->connect_inwin = elm_win_inwin_add(win);
- evas_object_show(gui->connect_inwin);
-
- bxx = elm_box_add(gui->connect_inwin);
- evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(bxx);
-
- lb = elm_label_add(bxx);
- evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, 0.0);
- elm_object_text_set(lb, "Enter remote address[:port]");
- elm_box_pack_end(bxx, lb);
- evas_object_show(lb);
-
- /* Single line selected entry */
- gui->en = elm_entry_add(bxx);
- elm_entry_scrollable_set(gui->en, EINA_TRUE);
- evas_object_size_hint_weight_set(gui->en,
- EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(gui->en, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_style_set(gui->connect_inwin, "minimal_vertical");
- elm_scroller_policy_set(gui->en, ELM_SCROLLER_POLICY_OFF,
- ELM_SCROLLER_POLICY_OFF);
- elm_object_text_set(gui->en, LOCALHOST);
- elm_entry_single_line_set(gui->en, EINA_TRUE);
- elm_entry_select_all(gui->en);
- evas_object_smart_callback_add(gui->en, "activated", _ok_bt_clicked, (void
*)gui);
- elm_box_pack_end(bxx, gui->en);
- evas_object_show(gui->en);
-
- bt_bx = elm_box_add(bxx);
- elm_box_horizontal_set(bt_bx, EINA_TRUE);
- elm_box_homogeneous_set(bt_bx, EINA_TRUE);
- evas_object_size_hint_align_set(bt_bx, 0.5, 0.5);
- evas_object_size_hint_weight_set(bt_bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(bt_bx);
- elm_box_pack_end(bxx, bt_bx);
-
- /* Add the cancel button */
- bt_cancel = elm_button_add(bt_bx);
- elm_object_text_set(bt_cancel, "Cancel");
- evas_object_smart_callback_add(bt_cancel, "clicked",
- _cancel_bt_clicked, (void *) gui);
-
- elm_box_pack_end(bt_bx, bt_cancel);
- evas_object_show(bt_cancel);
-
- /* Add the OK button */
- bt_ok = elm_button_add(bt_bx);
- elm_object_text_set(bt_ok, "OK");
- evas_object_smart_callback_add(bt_ok, "clicked",
- _ok_bt_clicked, (void *) gui);
-
- elm_box_pack_end(bt_bx, bt_ok);
- evas_object_show(bt_ok);
-
- bt_ofl = elm_button_add(bt_bx);
- elm_object_text_set(bt_ofl, "Work Offline");
- evas_object_smart_callback_add(bt_ofl, "clicked",
- _ofl_bt_clicked, (void *) gui);
-
- elm_box_pack_end(bt_bx, bt_ofl);
- evas_object_show(bt_ofl);
-
- elm_win_inwin_content_set(gui->connect_inwin, bxx);
- /* END - Popup to get IP, PORT from user */
+ if (gui->address)
+ {
+ _show_gui(gui, EINA_FALSE);
+ }
+ else
+ {
+ /* START - Popup to get IP, PORT from user */
+ gui->connect_inwin = elm_win_inwin_add(win);
+ evas_object_show(gui->connect_inwin);
+
+ bxx = elm_box_add(gui->connect_inwin);
+ evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND,
EVAS_HINT_EXPAND);
+ evas_object_show(bxx);
+
+ lb = elm_label_add(bxx);
+ evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, 0.0);
+ elm_object_text_set(lb, "Enter remote address[:port]");
+ elm_box_pack_end(bxx, lb);
+ evas_object_show(lb);
+
+ /* Single line selected entry */
+ gui->en = elm_entry_add(bxx);
+ elm_entry_scrollable_set(gui->en, EINA_TRUE);
+ evas_object_size_hint_weight_set(gui->en,
+ EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(gui->en, EVAS_HINT_FILL,
EVAS_HINT_FILL);
+ elm_object_style_set(gui->connect_inwin, "minimal_vertical");
+ elm_scroller_policy_set(gui->en, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_OFF);
+ elm_object_text_set(gui->en, LOCALHOST);
+ elm_entry_single_line_set(gui->en, EINA_TRUE);
+ elm_entry_select_all(gui->en);
+ evas_object_smart_callback_add(gui->en, "activated", _ok_bt_clicked,
(void *)gui);
+ elm_box_pack_end(bxx, gui->en);
+ evas_object_show(gui->en);
+
+ bt_bx = elm_box_add(bxx);
+ elm_box_horizontal_set(bt_bx, EINA_TRUE);
+ elm_box_homogeneous_set(bt_bx, EINA_TRUE);
+ evas_object_size_hint_align_set(bt_bx, 0.5, 0.5);
+ evas_object_size_hint_weight_set(bt_bx, EVAS_HINT_EXPAND,
EVAS_HINT_EXPAND);
+ evas_object_show(bt_bx);
+ elm_box_pack_end(bxx, bt_bx);
+
+ /* Add the cancel button */
+ bt_cancel = elm_button_add(bt_bx);
+ elm_object_text_set(bt_cancel, "Cancel");
+ evas_object_smart_callback_add(bt_cancel, "clicked",
+ _cancel_bt_clicked, (void *) gui);
+
+ elm_box_pack_end(bt_bx, bt_cancel);
+ evas_object_show(bt_cancel);
+
+ /* Add the OK button */
+ bt_ok = elm_button_add(bt_bx);
+ elm_object_text_set(bt_ok, "OK");
+ evas_object_smart_callback_add(bt_ok, "clicked",
+ _ok_bt_clicked, (void *) gui);
+
+ elm_box_pack_end(bt_bx, bt_ok);
+ evas_object_show(bt_ok);
+
+ bt_ofl = elm_button_add(bt_bx);
+ elm_object_text_set(bt_ofl, "Work Offline");
+ evas_object_smart_callback_add(bt_ofl, "clicked",
+ _ofl_bt_clicked, (void *) gui);
+
+ elm_box_pack_end(bt_bx, bt_ofl);
+ evas_object_show(bt_ofl);
+
+ elm_win_inwin_content_set(gui->connect_inwin, bxx);
+ /* END - Popup to get IP, PORT from user */
+ }
elm_run();
--
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j