e_randr: Show "ask position" dialog, if ASK policy is used.
SVN revision: 71566
This commit is contained in:
parent
c43f83ef52
commit
bdb66274c0
1266
po/fr_CH.po
1266
po/fr_CH.po
File diff suppressed because it is too large
Load Diff
112
po/it.po
112
po/it.po
|
@ -6,7 +6,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Enlightenment 0.17\n"
|
||||
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
|
||||
"POT-Creation-Date: 2012-05-13 21:16+0200\n"
|
||||
"POT-Creation-Date: 2012-05-30 21:07+0200\n"
|
||||
"PO-Revision-Date: 2012-05-13 21:18+0200\n"
|
||||
"Last-Translator: Massimo Maiurana <maiurana@gmail.com>\n"
|
||||
"Language-Team: none\n"
|
||||
|
@ -303,7 +303,7 @@ msgstr "Commuta stato attaccata"
|
|||
#: src/bin/e_fm_device.c:637 src/bin/e_fm_device.c:664
|
||||
#: src/bin/e_int_menus.c:144 src/bin/e_int_shelf_config.c:247
|
||||
#: src/modules/conf_window_manipulation/e_int_config_clientlist.c:101
|
||||
#: src/modules/fileman/e_mod_main.c:358 src/modules/ibox/e_mod_config.c:162
|
||||
#: src/modules/fileman/e_mod_main.c:360 src/modules/ibox/e_mod_config.c:162
|
||||
msgid "Desktop"
|
||||
msgstr "Desktop"
|
||||
|
||||
|
@ -754,13 +754,13 @@ msgstr "Selettore colore"
|
|||
#: src/bin/e_utils.c:707 src/modules/conf_dialogs/e_int_config_profiles.c:387
|
||||
#: src/modules/conf_intl/e_int_config_imc_import.c:120
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:222
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:352
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:357
|
||||
#: src/modules/conf_theme/e_int_config_theme_import.c:120
|
||||
#: src/modules/cpufreq/e_mod_main.c:415 src/modules/cpufreq/e_mod_main.c:444
|
||||
#: src/modules/cpufreq/e_mod_main.c:469
|
||||
#: src/modules/fileman/e_int_config_mime_edit.c:303
|
||||
#: src/modules/shot/e_mod_main.c:242 src/modules/shot/e_mod_main.c:482
|
||||
#: src/modules/xkbswitch/e_mod_config.c:512
|
||||
#: src/modules/xkbswitch/e_mod_config.c:526
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
|
@ -770,12 +770,12 @@ msgstr "OK"
|
|||
#: src/modules/conf_dialogs/e_int_config_profiles.c:388
|
||||
#: src/modules/conf_intl/e_int_config_imc_import.c:124
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:226
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:356
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:361
|
||||
#: src/modules/conf_theme/e_int_config_theme_import.c:124
|
||||
#: src/modules/fileman/e_int_config_mime_edit.c:304
|
||||
#: src/modules/syscon/e_syscon.c:120 src/modules/connman/e_mod_main.c:300
|
||||
#: src/modules/shot/e_mod_main.c:244 src/modules/shot/e_mod_main.c:483
|
||||
#: src/modules/shot/e_mod_main.c:698 src/modules/xkbswitch/e_mod_config.c:513
|
||||
#: src/modules/shot/e_mod_main.c:698 src/modules/xkbswitch/e_mod_config.c:527
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
|
@ -1124,7 +1124,7 @@ msgid "Show in Menus"
|
|||
msgstr "Mostra in menù"
|
||||
|
||||
#: src/bin/e_eap_editor.c:786 src/bin/e_int_border_remember.c:757
|
||||
#: src/modules/xkbswitch/e_mod_config.c:325
|
||||
#: src/modules/xkbswitch/e_mod_config.c:335
|
||||
msgid "Options"
|
||||
msgstr "Opzioni"
|
||||
|
||||
|
@ -1136,26 +1136,26 @@ msgstr "Seleziona un'icona"
|
|||
msgid "Select an Executable"
|
||||
msgstr "Seleziona un'eseguibile"
|
||||
|
||||
#: src/bin/e_entry.c:501 src/bin/e_fm.c:8243 src/bin/e_shelf.c:1703
|
||||
#: src/bin/e_entry.c:506 src/bin/e_fm.c:8243 src/bin/e_shelf.c:1703
|
||||
#: src/modules/conf_dialogs/e_int_config_profiles.c:135
|
||||
#: src/modules/conf_shelves/e_int_config_shelf.c:81
|
||||
#: src/modules/ibar/e_mod_config.c:108
|
||||
msgid "Delete"
|
||||
msgstr "Elimina"
|
||||
|
||||
#: src/bin/e_entry.c:511 src/bin/e_fm.c:8151
|
||||
#: src/bin/e_entry.c:516 src/bin/e_fm.c:8151
|
||||
msgid "Cut"
|
||||
msgstr "Taglia"
|
||||
|
||||
#: src/bin/e_entry.c:519 src/bin/e_fm.c:6198 src/bin/e_fm.c:8165
|
||||
#: src/bin/e_entry.c:524 src/bin/e_fm.c:6198 src/bin/e_fm.c:8165
|
||||
msgid "Copy"
|
||||
msgstr "Copia"
|
||||
|
||||
#: src/bin/e_entry.c:527 src/bin/e_fm.c:7989 src/bin/e_fm.c:8178
|
||||
#: src/bin/e_entry.c:532 src/bin/e_fm.c:7989 src/bin/e_fm.c:8178
|
||||
msgid "Paste"
|
||||
msgstr "Incolla"
|
||||
|
||||
#: src/bin/e_entry.c:537
|
||||
#: src/bin/e_entry.c:542
|
||||
msgid "Select All"
|
||||
msgstr "Seleziona tutto"
|
||||
|
||||
|
@ -1652,7 +1652,7 @@ msgstr "Aspetto"
|
|||
#: src/modules/conf_applications/e_int_config_apps.c:260
|
||||
#: src/modules/conf_applications/e_int_config_apps.c:280
|
||||
#: src/modules/gadman/e_mod_gadman.c:818 src/modules/ibar/e_mod_main.c:801
|
||||
#: src/modules/xkbswitch/e_mod_config.c:260
|
||||
#: src/modules/xkbswitch/e_mod_config.c:268
|
||||
msgid "Remove"
|
||||
msgstr "Elimina"
|
||||
|
||||
|
@ -2187,7 +2187,7 @@ msgstr "Utilità"
|
|||
#: src/bin/e_int_config_modules.c:55
|
||||
#: src/modules/everything/evry_plug_files.c:1585
|
||||
#: src/modules/fileman/e_mod_main.c:56 src/modules/fileman/e_mod_main.c:76
|
||||
#: src/modules/fileman/e_mod_main.c:420
|
||||
#: src/modules/fileman/e_mod_main.c:421
|
||||
msgid "Files"
|
||||
msgstr "File"
|
||||
|
||||
|
@ -2302,7 +2302,7 @@ msgstr "Applicazioni"
|
|||
#: src/bin/e_int_menus.c:151 src/bin/e_int_menus.c:1126
|
||||
#: src/modules/conf_window_manipulation/e_mod_main.c:17
|
||||
#: src/modules/conf_window_remembers/e_mod_main.c:14
|
||||
#: src/modules/winlist/e_mod_main.c:25 src/modules/tiling/e_mod_tiling.c:3810
|
||||
#: src/modules/winlist/e_mod_main.c:25 src/modules/tiling/e_mod_tiling.c:3812
|
||||
msgid "Windows"
|
||||
msgstr "Finestre"
|
||||
|
||||
|
@ -3459,7 +3459,7 @@ msgstr "%li minuti fa"
|
|||
|
||||
#: src/bin/e_utils.c:924 src/modules/conf_dialogs/e_int_config_profiles.c:274
|
||||
#: src/modules/conf_edgebindings/e_int_config_edgebindings.c:1179
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1179
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1189
|
||||
#: src/modules/wizard/page_020.c:19 src/modules/wizard/page_020.c:30
|
||||
msgid "Unknown"
|
||||
msgstr "Sconosciuto"
|
||||
|
@ -3559,19 +3559,19 @@ msgstr ""
|
|||
#: src/modules/conf_dialogs/e_int_config_profiles.c:133
|
||||
#: src/modules/conf_shelves/e_int_config_shelf.c:79
|
||||
#: src/modules/ibar/e_mod_config.c:106
|
||||
#: src/modules/xkbswitch/e_mod_config.c:255
|
||||
#: src/modules/xkbswitch/e_mod_config.c:263
|
||||
msgid "Add"
|
||||
msgstr "Aggiungi"
|
||||
|
||||
#: src/bin/e_widget_config_list.c:80
|
||||
#: src/modules/conf_applications/e_int_config_apps.c:272
|
||||
#: src/modules/xkbswitch/e_mod_config.c:243
|
||||
#: src/modules/xkbswitch/e_mod_config.c:251
|
||||
msgid "Up"
|
||||
msgstr "Su"
|
||||
|
||||
#: src/bin/e_widget_config_list.c:86
|
||||
#: src/modules/conf_applications/e_int_config_apps.c:276
|
||||
#: src/modules/xkbswitch/e_mod_config.c:249
|
||||
#: src/modules/xkbswitch/e_mod_config.c:257
|
||||
msgid "Down"
|
||||
msgstr "Giù"
|
||||
|
||||
|
@ -4524,29 +4524,29 @@ msgstr ""
|
|||
"diversa."
|
||||
|
||||
#: src/modules/conf_edgebindings/e_int_config_edgebindings.c:1312
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1334
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1366
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1344
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1376
|
||||
#: src/modules/gadman/e_mod_gadman.c:842
|
||||
msgid "CTRL"
|
||||
msgstr "Ctrl"
|
||||
|
||||
#: src/modules/conf_edgebindings/e_int_config_edgebindings.c:1317
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1339
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1371
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1349
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1381
|
||||
#: src/modules/gadman/e_mod_gadman.c:847
|
||||
msgid "ALT"
|
||||
msgstr "Alt"
|
||||
|
||||
#: src/modules/conf_edgebindings/e_int_config_edgebindings.c:1323
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1345
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1377
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1355
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1387
|
||||
#: src/modules/gadman/e_mod_gadman.c:853
|
||||
msgid "SHIFT"
|
||||
msgstr "Maiuscole"
|
||||
|
||||
#: src/modules/conf_edgebindings/e_int_config_edgebindings.c:1329
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1351
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1383
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1361
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1393
|
||||
#: src/modules/gadman/e_mod_gadman.c:859
|
||||
msgid "WIN"
|
||||
msgstr "Windows"
|
||||
|
@ -4766,11 +4766,11 @@ msgstr "Combinazioni della tastiera"
|
|||
msgid "Key Binding Sequence"
|
||||
msgstr "Sequenza di tastiera"
|
||||
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1174
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1184
|
||||
msgid "Binding Key Error"
|
||||
msgstr "Errore di associazione"
|
||||
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1175
|
||||
#: src/modules/conf_keybindings/e_int_config_keybindings.c:1185
|
||||
#, c-format
|
||||
msgid ""
|
||||
"The binding key sequence, that you choose, is already used by <br><hilight>"
|
||||
|
@ -4871,7 +4871,7 @@ msgid "Main Menu"
|
|||
msgstr "Menù principale"
|
||||
|
||||
#: src/modules/conf_menus/e_int_config_menus.c:258
|
||||
#: src/modules/fileman/e_mod_main.c:364
|
||||
#: src/modules/fileman/e_mod_main.c:366
|
||||
msgid "Favorites"
|
||||
msgstr "Preferiti"
|
||||
|
||||
|
@ -4891,7 +4891,7 @@ msgstr "Commenti"
|
|||
#: src/modules/gadman/e_mod_config.c:162 src/modules/gadman/e_mod_main.c:27
|
||||
#: src/modules/gadman/e_mod_main.c:77 src/modules/gadman/e_mod_main.c:84
|
||||
#: src/modules/gadman/e_mod_main.c:109 src/modules/gadman/e_mod_main.c:139
|
||||
#: src/modules/xkbswitch/e_mod_config.c:289
|
||||
#: src/modules/xkbswitch/e_mod_config.c:299
|
||||
msgid "Gadgets"
|
||||
msgstr "Gadget"
|
||||
|
||||
|
@ -5177,34 +5177,34 @@ msgstr "Estesa"
|
|||
msgid "Select a Picture..."
|
||||
msgstr "Selezionare un'immmagine..."
|
||||
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:696
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:701
|
||||
msgid "Picture Import Error"
|
||||
msgstr "Errore importazione immagine"
|
||||
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:697
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:702
|
||||
msgid ""
|
||||
"Enlightenment was unable to import the picture<br>due to conversion errors."
|
||||
msgstr ""
|
||||
"Enlightenment non ha potuto importare l'immagine<br>a causa di errori di "
|
||||
"conversione."
|
||||
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:784
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:794
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:876
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:886
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:789
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:799
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:881
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:891
|
||||
msgid "Wallpaper Import Error"
|
||||
msgstr "Errore importazione sfondo"
|
||||
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:785
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:877
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:790
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:882
|
||||
msgid ""
|
||||
"Enlightenment was unable to import the wallpaper<br>due to a copy error."
|
||||
msgstr ""
|
||||
"Enlightenment non ha potuto importare lo sfondo<br>a causa di un errore di "
|
||||
"copia."
|
||||
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:795
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:887
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:800
|
||||
#: src/modules/conf_theme/e_int_config_wallpaper_import.c:892
|
||||
msgid ""
|
||||
"Enlightenment was unable to import the wallpaper.<br><br>Are you sure this "
|
||||
"is a valid wallpaper?"
|
||||
|
@ -6951,15 +6951,15 @@ msgstr "Seleziona un'immagine"
|
|||
msgid "File Manager"
|
||||
msgstr "File manager"
|
||||
|
||||
#: src/modules/fileman/e_mod_main.c:352
|
||||
#: src/modules/fileman/e_mod_main.c:354
|
||||
msgid "Home"
|
||||
msgstr "Home"
|
||||
|
||||
#: src/modules/fileman/e_mod_main.c:376
|
||||
#: src/modules/fileman/e_mod_main.c:378
|
||||
msgid "Root"
|
||||
msgstr "Directory principale"
|
||||
|
||||
#: src/modules/fileman/e_mod_main.c:474
|
||||
#: src/modules/fileman/e_mod_main.c:475
|
||||
msgid ""
|
||||
"Fileman Module Settings data needed upgrading. Your old configuration<br>has "
|
||||
"been wiped and a new set of defaults initialized. This<br>will happen "
|
||||
|
@ -6979,7 +6979,7 @@ msgstr ""
|
|||
"nuove funzionalità.<br>Adesso è possibile riconfigurare le cose a proprio "
|
||||
"piacimento.<br>Ci scusiamo per il disagio.<br>"
|
||||
|
||||
#: src/modules/fileman/e_mod_main.c:487
|
||||
#: src/modules/fileman/e_mod_main.c:488
|
||||
msgid ""
|
||||
"Your Fileman Module configuration is NEWER than Fileman Module version. This "
|
||||
"is very<br>strange. This should not happen unless you downgraded<br>the "
|
||||
|
@ -6996,7 +6996,7 @@ msgstr ""
|
|||
"configurazione è<br>stata ripristinata a scopo precauzionale ai valori "
|
||||
"predefiniti. Ci<br>scusiamo per l'inconveniente.<br>"
|
||||
|
||||
#: src/modules/fileman/e_mod_main.c:557
|
||||
#: src/modules/fileman/e_mod_main.c:558
|
||||
msgid "Fileman Settings Updated"
|
||||
msgstr "Impostazioni di Fileman aggiornate"
|
||||
|
||||
|
@ -8169,9 +8169,9 @@ msgstr "Numero di colonne da usare per desktop (0 → griglia disabilitata)"
|
|||
msgid "Tiling Configuration"
|
||||
msgstr "Configurazione di Tiling"
|
||||
|
||||
#: src/modules/tiling/e_mod_tiling.c:3783
|
||||
#: src/modules/tiling/e_mod_tiling.c:3812
|
||||
#: src/modules/tiling/e_mod_tiling.c:3901
|
||||
#: src/modules/tiling/e_mod_tiling.c:3785
|
||||
#: src/modules/tiling/e_mod_tiling.c:3814
|
||||
#: src/modules/tiling/e_mod_tiling.c:3903
|
||||
msgid "Tiling"
|
||||
msgstr "Tiling"
|
||||
|
||||
|
@ -8184,30 +8184,30 @@ msgstr "Commutatore tastiera"
|
|||
msgid "XKB Switcher Module"
|
||||
msgstr "Modulo XKBswitcher"
|
||||
|
||||
#: src/modules/xkbswitch/e_mod_config.c:269
|
||||
#: src/modules/xkbswitch/e_mod_config.c:277
|
||||
msgid "Configurations"
|
||||
msgstr "Configurazioni"
|
||||
|
||||
#: src/modules/xkbswitch/e_mod_config.c:278
|
||||
#: src/modules/xkbswitch/e_mod_config.c:286
|
||||
msgid "Models"
|
||||
msgstr "Modelli"
|
||||
|
||||
#: src/modules/xkbswitch/e_mod_config.c:291
|
||||
#: src/modules/xkbswitch/e_mod_config.c:301
|
||||
msgid "Label only"
|
||||
msgstr "Solo etichette"
|
||||
|
||||
#: src/modules/xkbswitch/e_mod_config.c:470
|
||||
#: src/modules/xkbswitch/e_mod_config.c:481
|
||||
msgid "Add New Configuration"
|
||||
msgstr "Aggiungi nuova configurazione"
|
||||
|
||||
#: src/modules/xkbswitch/e_mod_config.c:480
|
||||
#: src/modules/xkbswitch/e_mod_config.c:494
|
||||
msgid "Available"
|
||||
msgstr "Disponibile"
|
||||
|
||||
#: src/modules/xkbswitch/e_mod_config.c:487
|
||||
#: src/modules/xkbswitch/e_mod_config.c:501
|
||||
msgid "Model"
|
||||
msgstr "Modello"
|
||||
|
||||
#: src/modules/xkbswitch/e_mod_config.c:494
|
||||
#: src/modules/xkbswitch/e_mod_config.c:508
|
||||
msgid "Variant"
|
||||
msgstr "Variante"
|
||||
|
|
1259
po/pt_BR.po
1259
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
1260
po/zh_CN.po
1260
po/zh_CN.po
File diff suppressed because it is too large
Load Diff
1266
po/zh_TW.po
1266
po/zh_TW.po
File diff suppressed because it is too large
Load Diff
|
@ -283,6 +283,7 @@ e_randr_11_serialization.c \
|
|||
e_randr_12.c \
|
||||
e_randr_12_output.c \
|
||||
e_randr_12_crtc.c \
|
||||
e_randr_12_ask_dialog.c \
|
||||
e_randr_12_serialization.c \
|
||||
e_remember.c \
|
||||
e_resist.c \
|
||||
|
|
|
@ -191,6 +191,9 @@ EINTERN void e_randr_11_serialized_setup_free(E_Randr_Serialized_Setup_11 *ss_11
|
|||
EINTERN void e_randr_12_serialized_setup_free(E_Randr_Serialized_Setup_12 *ss_12);
|
||||
EINTERN void e_randr_12_serialized_output_policy_free(E_Randr_Serialized_Output_Policy *policy);
|
||||
|
||||
EINTERN Eina_Bool e_randr_12_try_enable_output(E_Randr_Output_Info *output_info, Ecore_X_Randr_Output_Policy policy, Eina_Bool force);
|
||||
EINTERN void e_randr_12_ask_dialog_new(E_Randr_Output_Info *oi);
|
||||
|
||||
EAPI extern E_Randr_Screen_Info e_randr_screen_info;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -19,7 +19,6 @@ static Eina_Bool _x_poll_cb(void *data __UNUSED__);
|
|||
static Eina_Bool _crtc_change_event_cb(void *data, int type, void *e);
|
||||
static Eina_Bool _output_change_event_cb(void *data, int type, void *e);
|
||||
static Eina_Bool _output_property_change_event_cb(void *data, int type, void *e);
|
||||
static Eina_Bool _try_enable_output(E_Randr_Output_Info *output_info, Eina_Bool force);
|
||||
|
||||
static Ecore_Poller *poller = NULL;
|
||||
static Eina_List *_event_handlers = NULL;
|
||||
|
@ -443,7 +442,7 @@ _output_change_event_cb(void *data __UNUSED__, int type, void *ev)
|
|||
//only try to enable the monitor if there is no serialized setup
|
||||
if(!_12_try_restore_configuration())
|
||||
{
|
||||
policy_success = _try_enable_output(output_info, EINA_FALSE); //maybe give a success message?
|
||||
policy_success = e_randr_12_try_enable_output(output_info, output_info->policy, EINA_FALSE); //maybe give a success message?
|
||||
fprintf(stderr, "E_RANDR: Policy \"%s\" was enforced %ssuccesfully.\n", _POLICIES_STRINGS[output_info->policy - 1], (policy_success ? "" : "un"));
|
||||
}
|
||||
}
|
||||
|
@ -573,8 +572,8 @@ _output_property_change_event_cb(void *data __UNUSED__, int type, void *ev)
|
|||
* - try to share the output of a CRTC with other outputs already using it
|
||||
* (clone).
|
||||
*/
|
||||
static Eina_Bool
|
||||
_try_enable_output(E_Randr_Output_Info *output_info, Eina_Bool force)
|
||||
EINTERN Eina_Bool
|
||||
e_randr_12_try_enable_output(E_Randr_Output_Info *output_info, Ecore_X_Randr_Output_Policy policy, Eina_Bool force)
|
||||
{
|
||||
Eina_List *iter, *outputs_list = NULL, *common_modes = NULL;
|
||||
E_Randr_Crtc_Info *crtc_info = NULL, *usable_crtc = NULL;
|
||||
|
@ -607,11 +606,15 @@ _try_enable_output(E_Randr_Output_Info *output_info, Eina_Bool force)
|
|||
return EINA_FALSE;
|
||||
|
||||
//get the CRTC we will refer to, dependend on policy
|
||||
switch (output_info->policy)
|
||||
switch (policy)
|
||||
{
|
||||
case ECORE_X_RANDR_OUTPUT_POLICY_NONE:
|
||||
return EINA_TRUE;
|
||||
|
||||
case ECORE_X_RANDR_OUTPUT_POLICY_ASK:
|
||||
e_randr_12_ask_dialog_new(output_info);
|
||||
return EINA_TRUE; //This is a bit incorrect (dialog feedback is async), but probably not worth a lock.
|
||||
|
||||
case ECORE_X_RANDR_OUTPUT_POLICY_CLONE:
|
||||
/*
|
||||
* Order of approaches to enable a clone (of the primary output):
|
||||
|
@ -720,7 +723,7 @@ _try_enable_output(E_Randr_Output_Info *output_info, Eina_Bool force)
|
|||
|
||||
//get the crtc we will place our's relative to. If it's NULL, this is the
|
||||
//only output attached, work done.
|
||||
if (!(crtc_rel = _crtc_according_to_policy_get(usable_crtc, output_info->policy)))
|
||||
if (!(crtc_rel = _crtc_according_to_policy_get(usable_crtc, policy)))
|
||||
{
|
||||
fprintf(stderr, "E_RANDR: CRTC %d enabled. No other CRTC had to be moved.\n", usable_crtc->xid);
|
||||
ret &= ecore_x_randr_crtc_mode_set(e_randr_screen_info.root, usable_crtc->xid, &output_info->xid, 1, mode_info->xid);
|
||||
|
@ -728,7 +731,7 @@ _try_enable_output(E_Randr_Output_Info *output_info, Eina_Bool force)
|
|||
}
|
||||
|
||||
//Calculate new CRTC's position according to policy
|
||||
switch (output_info->policy)
|
||||
switch (policy)
|
||||
{
|
||||
case ECORE_X_RANDR_OUTPUT_POLICY_ABOVE:
|
||||
usable_crtc->geometry.x = crtc_rel->geometry.x;
|
||||
|
@ -763,7 +766,7 @@ _try_enable_output(E_Randr_Output_Info *output_info, Eina_Bool force)
|
|||
|
||||
fprintf(stderr, "E_RANDR: Moved CRTC %d has geometry (x,y,wxh): %d, %d, %dx%d.\n", usable_crtc->xid, usable_crtc->geometry.x, usable_crtc->geometry.y, usable_crtc->geometry.w, usable_crtc->geometry.h);
|
||||
//following is policy dependend.
|
||||
switch (output_info->policy)
|
||||
switch (policy)
|
||||
{
|
||||
case ECORE_X_RANDR_OUTPUT_POLICY_ABOVE:
|
||||
dy = (crtc_rel->geometry.y - usable_crtc->geometry.h);
|
||||
|
|
|
@ -0,0 +1,82 @@
|
|||
#include "e.h"
|
||||
|
||||
static void _e_randr_ask_cb(void *data, E_Dialog *dia);
|
||||
|
||||
static void e_randr_12_memorize_monitor_dialog_new(void);
|
||||
static void _e_randr_ask_memorize_monitor_cb(void *data, E_Dialog *dia);
|
||||
|
||||
static E_Randr_Output_Info *_ask_output_info = NULL;
|
||||
|
||||
EINTERN void e_randr_12_ask_dialog_new(E_Randr_Output_Info *oi)
|
||||
{
|
||||
E_Dialog *dia = NULL;
|
||||
|
||||
if (!oi) return;
|
||||
dia = e_dialog_new(e_container_current_get(e_manager_current_get()), "E", "_randr_ask");
|
||||
if (!dia) return;
|
||||
|
||||
_ask_output_info = oi;
|
||||
e_dialog_title_set(dia, _("Position of New Monitor"));
|
||||
e_dialog_icon_set(dia, "display", 64);
|
||||
e_dialog_text_set(dia, _("<b>Where</b> should the newly connected monitor be put?"));
|
||||
e_dialog_button_add(dia, _("Left"), "stock-left", _e_randr_ask_cb, (void*)ECORE_X_RANDR_OUTPUT_POLICY_LEFT);
|
||||
e_dialog_button_add(dia, _("Right"), "stock-right", _e_randr_ask_cb, (void*)ECORE_X_RANDR_OUTPUT_POLICY_RIGHT);
|
||||
e_dialog_button_add(dia, _("Above"), "stock-top", _e_randr_ask_cb, (void*)ECORE_X_RANDR_OUTPUT_POLICY_ABOVE);
|
||||
e_dialog_button_add(dia, _("Below"), "stock-bottom", _e_randr_ask_cb, (void*)ECORE_X_RANDR_OUTPUT_POLICY_BELOW);
|
||||
e_dialog_button_focus_num(dia, 1);
|
||||
e_win_centered_set(dia->win, 1);
|
||||
e_dialog_show(dia);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_randr_ask_cb(void *data __UNUSED__, E_Dialog *dia)
|
||||
{
|
||||
Ecore_X_Randr_Output_Policy pos = (Ecore_X_Randr_Output_Policy)data;
|
||||
Eina_Bool successful = EINA_FALSE;
|
||||
|
||||
if (!_ask_output_info)
|
||||
goto _close_ret;
|
||||
|
||||
successful = e_randr_12_try_enable_output(_ask_output_info, pos, EINA_FALSE);
|
||||
|
||||
if (successful)
|
||||
e_randr_12_memorize_monitor_dialog_new();
|
||||
|
||||
_ask_output_info = NULL;
|
||||
|
||||
_close_ret:
|
||||
e_object_del(E_OBJECT(dia));
|
||||
}
|
||||
|
||||
static void e_randr_12_memorize_monitor_dialog_new(void)
|
||||
{
|
||||
E_Dialog *dia = NULL;
|
||||
|
||||
dia = e_dialog_new(e_container_current_get(e_manager_current_get()), "E", "_randr_ask");
|
||||
if (!dia) return;
|
||||
|
||||
e_dialog_title_set(dia, _("Memorize This Monitor?"));
|
||||
e_dialog_icon_set(dia, "display", 64);
|
||||
e_dialog_text_set(dia, _("Should the position of this monitor be <b>memorized</b>?"));
|
||||
e_dialog_button_add(dia, _("Yes"), "stock-yes", _e_randr_ask_memorize_monitor_cb, (void*)EINA_TRUE);
|
||||
e_dialog_button_add(dia, _("No"), "stock-no", _e_randr_ask_memorize_monitor_cb, (void*)EINA_FALSE);
|
||||
e_dialog_button_focus_num(dia, 1);
|
||||
e_win_centered_set(dia->win, 1);
|
||||
e_dialog_show(dia);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_randr_ask_memorize_monitor_cb(void *data, E_Dialog *dia)
|
||||
{
|
||||
Eina_Bool memorize = (Eina_Bool)data;
|
||||
const E_Randr_Configuration_Store_Modifier modifier = (
|
||||
E_RANDR_CONFIGURATION_STORE_RESOLUTIONS
|
||||
| E_RANDR_CONFIGURATION_STORE_ARRANGEMENT
|
||||
| E_RANDR_CONFIGURATION_STORE_ORIENTATIONS);
|
||||
|
||||
if (memorize)
|
||||
e_randr_store_configuration(modifier);
|
||||
|
||||
e_object_del(E_OBJECT(dia));
|
||||
}
|
||||
|
|
@ -31,7 +31,7 @@ struct _E_Config_Dialog_Data
|
|||
struct {
|
||||
Evas_Object *widget;
|
||||
//Evas_Object *swallowing_edje;
|
||||
Evas_Object *radio_above, *radio_right, *radio_below, *radio_left, *radio_clone, *radio_none;
|
||||
Evas_Object *radio_above, *radio_right, *radio_below, *radio_left, *radio_clone, *radio_none, *radio_ask;
|
||||
int radio_val;
|
||||
//Evas_Object *current_displays_setup, *current_displays_setup_background, *new_display, *new_display_background;
|
||||
} policy;
|
||||
|
|
|
@ -24,12 +24,14 @@ static const char *_POLICIES_STRINGS[] = {
|
|||
"BELOW",
|
||||
"LEFT",
|
||||
"CLONE",
|
||||
"NONE"};
|
||||
"NONE",
|
||||
"ASK"};
|
||||
|
||||
|
||||
static void
|
||||
_policy_widget_radio_add_callbacks(void)
|
||||
{
|
||||
evas_object_event_callback_add(e_config_runtime_info->gui.widgets.policy.radio_ask, EVAS_CALLBACK_MOUSE_UP, _policy_widget_mouse_up_cb, NULL);
|
||||
evas_object_event_callback_add(e_config_runtime_info->gui.widgets.policy.radio_none, EVAS_CALLBACK_MOUSE_UP, _policy_widget_mouse_up_cb, NULL);
|
||||
evas_object_event_callback_add(e_config_runtime_info->gui.widgets.policy.radio_clone, EVAS_CALLBACK_MOUSE_UP, _policy_widget_mouse_up_cb, NULL);
|
||||
evas_object_event_callback_add(e_config_runtime_info->gui.widgets.policy.radio_left, EVAS_CALLBACK_MOUSE_UP, _policy_widget_mouse_up_cb, NULL);
|
||||
|
@ -87,6 +89,9 @@ policy_widget_basic_create_widgets(Evas *canvas)
|
|||
if (!(rg = e_widget_radio_group_new(&e_config_runtime_info->gui.widgets.policy.radio_val))) goto _policy_widget_radio_add_fail;
|
||||
|
||||
//IMPROVABLE: use enum to determine objects via 'switch'-statement
|
||||
e_config_runtime_info->gui.widgets.policy.radio_ask = e_widget_radio_add(canvas, _("Ask"), ECORE_X_RANDR_OUTPUT_POLICY_ASK, rg);
|
||||
e_widget_framelist_object_append(widget, e_config_runtime_info->gui.widgets.policy.radio_ask);
|
||||
|
||||
e_config_runtime_info->gui.widgets.policy.radio_above = e_widget_radio_add(canvas, _("Above"), ECORE_X_RANDR_OUTPUT_POLICY_ABOVE, rg);
|
||||
e_widget_framelist_object_append(widget, e_config_runtime_info->gui.widgets.policy.radio_above);
|
||||
|
||||
|
@ -181,6 +186,7 @@ _policy_widget_mouse_up_cb(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Objec
|
|||
* 1-liner below.
|
||||
* snprintf(signal, sizeof(signal), "conf,randr,dialog,policies,%d", e_config_runtime_info->gui.widgets.policy.radio_val);
|
||||
*/
|
||||
if (obj == e_config_runtime_info->gui.widgets.policy.radio_ask) policy = ECORE_X_RANDR_OUTPUT_POLICY_ASK;
|
||||
if (obj == e_config_runtime_info->gui.widgets.policy.radio_above) policy = ECORE_X_RANDR_OUTPUT_POLICY_ABOVE;
|
||||
if (obj == e_config_runtime_info->gui.widgets.policy.radio_right) policy = ECORE_X_RANDR_OUTPUT_POLICY_RIGHT;
|
||||
if (obj == e_config_runtime_info->gui.widgets.policy.radio_below) policy = ECORE_X_RANDR_OUTPUT_POLICY_BELOW;
|
||||
|
@ -254,33 +260,27 @@ void
|
|||
policy_widget_update_radio_buttons(E_Config_Randr_Dialog_Output_Dialog_Data *odd)
|
||||
{
|
||||
Ecore_X_Randr_Output_Policy policy;
|
||||
Eina_Bool enable = !odd;
|
||||
|
||||
//disable widgets, if no rep is selected
|
||||
if (!odd)
|
||||
{
|
||||
//Evas_Object *radio_above, *radio_right, *radio_below, *radio_left, *radio_clone, *radio_none;
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_above, EINA_TRUE);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_right, EINA_TRUE);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_below, EINA_TRUE);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_left, EINA_TRUE);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_clone, EINA_TRUE);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_none, EINA_TRUE);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_above, EINA_FALSE);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_right, EINA_FALSE);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_below, EINA_FALSE);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_left, EINA_FALSE);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_clone, EINA_FALSE);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_none, EINA_FALSE);
|
||||
}
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_ask, enable);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_above, enable);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_right, enable);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_below, enable);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_left, enable);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_clone, enable);
|
||||
e_widget_disabled_set(e_config_runtime_info->gui.widgets.policy.radio_none, enable);
|
||||
|
||||
if (!odd) return;
|
||||
|
||||
policy = (odd->new_policy != (Ecore_X_Randr_Output_Policy) Ecore_X_Randr_Unset) ? odd->new_policy : odd->previous_policy;
|
||||
//toggle the switch of the currently used policies
|
||||
switch (policy)
|
||||
{
|
||||
case ECORE_X_RANDR_OUTPUT_POLICY_ASK:
|
||||
e_widget_radio_toggle_set(e_config_runtime_info->gui.widgets.policy.radio_ask, EINA_TRUE);
|
||||
break;
|
||||
|
||||
case ECORE_X_RANDR_OUTPUT_POLICY_RIGHT:
|
||||
e_widget_radio_toggle_set(e_config_runtime_info->gui.widgets.policy.radio_right, EINA_TRUE);
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue