Gobby::TaskExportHtml::TaskExportHtml(FileCommands& file_commands,
                                      TextSessionView& view):
	Task(file_commands),
	m_file_dialog(get_file_chooser(), get_parent(),
		Glib::ustring::compose(
			_("Choose a location to export document \"%1\" to"),
			view.get_title()),
		Gtk::FILE_CHOOSER_ACTION_SAVE),
	m_view(&view), m_running(false)
{
	get_folder().signal_document_removed().connect(
		sigc::mem_fun(*this, &TaskExportHtml::on_document_removed));
}
Example #2
0
//----------------------------------------------------------------------
// WLAN_MENU
//----------------------------------------------------------------------
static int wlan_menu() {
    char **interface_list;
    char *filename;

    sprintf(bigbuf,"%s/wlan", globs.cfgdir);
    interface_sel = getenv("CGI_interface_sel");
    interface_list = get_file_chooser(bigbuf,interface_sel,"interface_sel","New Interface");
    if(interface_sel == NULL) {
	interface_sel = strdup(interface_list[1]);
    }

    sprintf(bigbuf,"wlan/%s", interface_sel);
    filename = strdup(bigbuf);
    read_cfg(filename,wkw,SEP,wv);
    free(filename);


    header("wlan");

    out_refresh_script();

    oform(("POST", "/cgi-bin/setup", "formw"));
    ohid("last_menu","wlan");
    ohid("j_click", "IGNORE");

    printf("<h3>Wireless Configuration Options</h3>\n");

    otbl(NULL);

    otr(NULL);
    oth("Wireless Interface");
    if (interface_sel[0] == 0 || strcmp(interface_sel,"__new") == 0) {
	otd(itext("interface_sel", "New Interface", 15, 15));
    } else {	
	otd(sel("onchange=\"send()\"", interface_list));
    }
    otr("/");

    otr(NULL);
    oth("Station ID (ESSID)");
    otd(itext(wkw[WLK_ESSID], wv[WLK_ESSID], 15, 12));
    otr("/");

    otr(NULL);
    oth("Security options (*)");
    {
	char *sec_sel[] = {
	    wkw[WLK_SECURITY], wv[WLK_SECURITY],
	    "None",                             "0",
	    "Hide SSID in beacon frames",       "1",
	    "Ignore clients with \"ANY\" SSID", "2",
	    "Both",                             "3",
	    NULL };
	    otd(sel("",sec_sel));
    }
    otr("/");

    otr(NULL);
    oth("Channel");
    {
	char *chan_sel[] = {
	    wkw[WLK_CHANNEL], wv[WLK_CHANNEL],
	    "Chan 1", "1",
	    "Chan 2", "2",
	    "Chan 3", "3",
	    "Chan 4", "4",
	    "Chan 5", "5",
	    "Chan 6", "6",
	    "Chan 7", "7",
	    "Chan 8", "8",
	    "Chan 9", "9",
	    "Chan 10", "10",
	    "Chan 11", "11",
	    "Chan 12", "12",
	    "Chan 13", "13",
	    NULL };
	    otd(sel("",chan_sel));
    }
    otr("/");

    otr(NULL);
    oth("Antenna Select RX");
    {
	char *aslr_list[] = {
	    wkw[WLK_ANTSEL_RX], wv[WLK_ANTSEL_RX],
	    "Default", "0", "Diversity", "1", "Low", "2", "High", "3",
	    NULL };
	    otd(sel("",aslr_list));
    }
    otr("/");

    otr(NULL);
    oth("TX");
    {
	char *aslt_list[] = {
	    wkw[WLK_ANTSEL_TX], wv[WLK_ANTSEL_TX],
	    "Default", "0", "Diversity", "1", "Low", "2", "High", "3",
	    NULL };
	    otd(sel("",aslt_list));
    }
    otr("/");

    otr(NULL);
    oth("Data Rate");
    {
	char *rate_list[] = {
	    wkw[WLK_RATE], wv[WLK_RATE],
	    "auto", "auto", "11Mb", "11Mb", "5Mb", "5Mb", "2Mb", "2Mb", "1Mb", "1Mb",
	    NULL };
	    otd(sel("",rate_list));
    }
    otr("/");

    otr(NULL);
    oth("Transmit Power");
    otd(itext(wkw[WLK_TXPOWER], wv[WLK_TXPOWER], 5, 4));
    otr("/");

    otr(NULL);
    oth("WEP Key<br>0x0x-0x0x-0x0x-0x0x-0x0x-0x0x-0x");
    otd(itext(wkw[WLK_WEP], wv[WLK_WEP], 40, 32));
    otr("/");

    otr(NULL);
    oth("Number of WDS Entries (AP Mode)");
    otd(itext(wkw[WLK_NWDS], wv[WLK_NWDS], 4, 2));
    otr("/");

    otbl("/");

    printf("(*) This option requires STA f/w ver 1.6.3 or newer\n");

    printf("<br><br>\n");
    ohid("menu","main");
    osub("f_click","OK");
    printf("&nbsp;&nbsp;&nbsp;\n");
    osub("f_click","CANCEL");
    oform(("/"));
}
Example #3
0
GSList *
show_file_chooser (const gchar          *title,
                   enum GtkuiFileChooserType type,
                   gboolean             select_multiple)
{
    GtkFileChooserAction action;
    switch (type) {
    case GTKUI_FILECHOOSER_OPENFOLDER:
        action = GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER;
        break;
    case GTKUI_FILECHOOSER_OPENFILE:
    case GTKUI_FILECHOOSER_LOADPLAYLIST:
        action = GTK_FILE_CHOOSER_ACTION_OPEN;
        break;
    case GTKUI_FILECHOOSER_SAVEPLAYLIST:
        action = GTK_FILE_CHOOSER_ACTION_SAVE;
        break;
    }

    GtkFileChooser *dlg = get_file_chooser(title, action, select_multiple);

    switch (type) {
    case GTKUI_FILECHOOSER_OPENFILE:
        set_file_filter (dlg, NULL);
        break;
    case GTKUI_FILECHOOSER_LOADPLAYLIST:
        set_file_filter_loadplaylist(dlg);
        break;
    case GTKUI_FILECHOOSER_SAVEPLAYLIST:
        gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dlg), TRUE);
        gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (dlg), "untitled.dbpl");
        set_file_filter_saveplaylist(dlg);
        break;
    }

    const char *conf_lastdir;
    switch (type) {
    case GTKUI_FILECHOOSER_OPENFOLDER:
    case GTKUI_FILECHOOSER_OPENFILE:
        conf_lastdir = "filechooser.lastdir";
        break;
    case GTKUI_FILECHOOSER_LOADPLAYLIST:
    case GTKUI_FILECHOOSER_SAVEPLAYLIST:
        conf_lastdir = "filechooser.playlist.lastdir";
        break;
    }

    // restore folder
    /* Windows: setting current folder for native filechooser here breaks restoring dirs, without it it still works fine?
    deadbeef->conf_lock ();
    gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (dlg), deadbeef->conf_get_str_fast (conf_lastdir, ""));
    deadbeef->conf_unlock ();
    */

    int response = run_file_chooser(dlg);

    // store folder
    gchar *folder = gtk_file_chooser_get_current_folder_uri (GTK_FILE_CHOOSER (dlg));
    if (folder) {
        deadbeef->conf_set_str (conf_lastdir, folder);
        g_free (folder);
    }
    GSList *lst = NULL;
    if (response == GTK_RESPONSE_ACCEPT)
    {
        lst = gtk_file_chooser_get_filenames (GTK_FILE_CHOOSER (dlg));
#if defined USE_GTK_NATIVE_FILE_CHOOSER && defined __MINGW32__
        // workaround: Gtk's win32 file chooser uses g_slist_prepend internally and forgets to reverse it before returning
        lst = g_slist_reverse (lst);
#endif
    }

    destroy_file_chooser (dlg);
    return lst;
}