function showOpenDialog() { global $dialogOpen, $fileList; $dialogOpen = new GladeXML('resources/dialogOpen.glade'); $_fileChooser = $dialogOpen->get_widget('_fileChooser'); $_btnOpen = $dialogOpen->get_widget('_btnOpen'); $_btnCancel = $dialogOpen->get_widget('_btnCancel'); $_btnOpen->connect_simple('clicked', 'openDialogChooseFile'); $_fileChooser->connect_simple('file-activated', 'openDialogChooseFile'); $_fileChooser->connect_simple('selection-changed', 'openDialogCheckFile'); $_btnCancel->connect_simple('clicked', 'openDialogCancel'); gtIcon($_btnOpen, Gtk::STOCK_OPEN); gtIcon($_btnCancel, Gtk::STOCK_CANCEL); gtFileFilter($_fileChooser, '*.svg', _('SVG files')); gtFileFilter($_fileChooser, '*', _('All files')); if (isset($fileList['directory'])) { $_fileChooser->select_uri($fileList['currentFile']); } }
function showPreferencesDialog() { global $dialogPreferences, $config, $radioGroup, $i18n, $langList, $gui; $dialogPreferences = new GladeXML(gtTranslateGlade('dialogPreferences')); $_btnSave = $dialogPreferences->get_widget('_btnSave'); $_btnCancel = $dialogPreferences->get_widget('_btnCancel'); $_btnRecognizeInkscape = $dialogPreferences->get_widget('_btnRecognizeInkscape'); $_noticeLabel = $dialogPreferences->get_widget('_noticeLabel'); $_prefDisplayPreview = $dialogPreferences->get_widget('_prefDisplayPreview'); $_prefLanguageSelect = $dialogPreferences->get_widget('_prefLanguageSelect'); $_prefUploadEnable = $dialogPreferences->get_widget('_prefUploadEnable'); $_prefUploadTable = $dialogPreferences->get_widget('_prefUploadTable'); $_prefInkscapePath = $dialogPreferences->get_widget('_prefInkscapePath'); $_btnCancel->connect_simple('clicked', 'cancelPreferencesDialog'); $_btnSave->connect_simple('clicked', 'savePreferencesDialog'); $_btnRecognizeInkscape->connect_simple('clicked', 'recognizeInkscape'); $_prefDisplayPreview->connect('toggled', 'setDisplayPreview'); $_prefUploadEnable->connect_simple('toggled', 'gtToggler', $_prefUploadEnable, $_prefUploadTable); $dialogPreferences->get_widget('_prefUploadGetKey')->connect_simple('clicked', 'openURL', 'https://openclipart.org/manage/profile'); gtIcon($_btnSave, Gtk::STOCK_SAVE); gtIcon($_btnCancel, Gtk::STOCK_CANCEL); gtIcon($_btnRecognizeInkscape, Gtk::STOCK_FIND); gtColor($_noticeLabel, 'fg', $gui['CNoticeBarFG']); gtFont($_noticeLabel, $gui['SNoticeBar']); gtFont($dialogPreferences->get_widget('_prefUploadGetKeyLBottom'), $gui['XSmallNote']); gtFont($dialogPreferences->get_widget('_prefUploadAPIWarn'), $gui['XSmallNote']); // Setting states/strings basing on config variable if ($config['firstTime']) { setPreferencesNoticeBox($i18n->_('prefNoticeFirstTime')); } // First time, autorun of preferences dialog $dialogPreferences->get_widget('_prefDisplayInfobar')->set_active($config['displayInfobar']); $dialogPreferences->get_widget('_prefDisplayNavbar')->set_active($config['displayNavbar']); $_prefDisplayPreview->set_active($config['displayPreview']); $dialogPreferences->get_widget('_prefPreviewAreaBox')->set_sensitive($config['displayPreview']); $dialogPreferences->get_widget($radioGroup['toolbarStyle'][$config['toolbarStyle']])->set_active(true); $dialogPreferences->get_widget($radioGroup['previewArea'][$config['previewArea']])->set_active(true); $_prefUploadEnable->set_active($config['enableUpload']); $dialogPreferences->get_widget('_prefUploadNSFW')->set_active($config['NSFWTagToFlag']); $_prefUploadTable->set_sensitive($config['enableUpload']); gtSetText($dialogPreferences->get_widget('_prefUploadUsername'), $config['uploadUsername']); gtSetText($dialogPreferences->get_widget('_prefUploadAPIKey'), $config['uploadAPIKey']); $dialogPreferences->get_widget('_prefTempPath')->select_uri($config['tempDirectory']); if ($config['inkscapePath']) { $_prefInkscapePath->select_uri($config['inkscapePath']); } else { $_prefInkscapePath->unselect_all(); } // setting language combobox $comboIndex = 0; foreach ($langList as $code => $name) { $comboStr = "{$name} ({$code})"; $_prefLanguageSelect->append_text($comboStr); if ($config['language'] === $code) { $_prefLanguageSelect->set_active($comboIndex); } $comboIndex++; } // signals that displays infobar notices; they have to be set after widget setup $_prefDisplayPreview->connect('toggled', 'setDisplayPreview'); $dialogPreferences->get_widget('_prefPreviewPage')->connect_simple('toggled', 'setPreferencesNoticeBox', $i18n->_('prefNoticeRefresh')); $dialogPreferences->get_widget('_prefPreviewDrawing')->connect_simple('toggled', 'setPreferencesNoticeBox', $i18n->_('prefNoticeDrawingArea') . "\n" . $i18n->_('prefNoticeRefresh'), $gui['CNoticeBarWarnBG']); if (detectOS(HK_OS_WINDOWS)) { $_prefInkscapePath->connect_simple('file-set', 'checkInkscapePath'); } }
function setTopBar($label, $icon) { global $glade, $_topLabel, $_topIcon, $_infoTipBox, $_infoHBox; $glade->get_widget('_btnTopURL')->hide(); // hide the link which is shown only after upload $_infoTipBox->hide(); // hide tip of the day and show info bar $_infoHBox->show(); gtIcon($_topIcon, $icon); gtSetText($_topLabel, $label); }