3

GTK +のGtkFileChooserDialogを使用して、ユーザーがファイルまたはフォルダーを選択できるようにするにはどうすればよいですか(どちらもここで有効です)。使用可能なアクションは相互に排他的です。

4

2 に答える 2

5

残念ながら、これは不可能だと思います。

Transmissionの「createatorrent」ダイアログでこれを少し試してみましたが、radiboxを使用して、2つのchooserdialogbuttonの1つをファイルモードともう1つをフォルダーモードで有効にしました。

于 2010-07-09T04:06:05.840 に答える
1

別のボタンを追加できます。これは、ファイルまたはフォルダを開く「開く」ボタンとファイルを選択する「選択」ボタンがある小さなファイル選択ウィンドウの例です。

void filechooser(GtkWidget* widget, gpointer gFilepath) {
   // create the dialogue with an "Open" button
   string* filepath = (string*) gFilepath;
   GtkWidget *dialog = gtk_file_chooser_dialog_new(
         "Open File",
         NULL, 
         GTK_FILE_CHOOSER_ACTION_OPEN,
         GTK_STOCK_CANCEL,
         GTK_RESPONSE_CANCEL,
         GTK_STOCK_OPEN,
         GTK_RESPONSE_ACCEPT, NULL);

   // add the additional "Select" button
   const guint MY_SELECTED = 0;
   gtk_dialog_add_button(GTK_DIALOG(dialog), "Select", MY_SELECTED);

   guint response = gtk_dialog_run(GTK_DIALOG(dialog));
   if(response == GTK_RESPONSE_ACCEPT || response == MY_SELECTED){
      *filepath = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
   }
   gtk_widget_destroy(dialog);
}
于 2015-11-21T08:34:11.520 に答える