0

genie を使用して小さなアプリケーションにダイアログを追加しようとしています。これは、ヘッダーバーのボタンをクリックすると開くオープンファイル ダイアログです。

Genie には例が不足しているので、vala から何かを適応させようとしています。ただし、私が見つけたすべての例は、Genie に変換できないスイッチ コマンドを使用していました。

これはヴァラコードです:

    public void on_open_image (Button self) {
    var filter = new FileFilter ();
    var dialog = new FileChooserDialog ("Open image",
                                        window,
                                        FileChooserAction.OPEN,
                                        Stock.OK,     ResponseType.ACCEPT,
                                        Stock.CANCEL, ResponseType.CANCEL);
    filter.add_pixbuf_formats ();
    dialog.add_filter (filter);

    switch (dialog.run ())
    {
        case ResponseType.ACCEPT:
            var filename = dialog.get_filename ();
            image.set_from_file (filename);
            break;
        default:
            break;
    }
    dialog.destroy ();
}

そして、これは私が前のコードから得たものです:

def openfile (self:Button)
    var dialog = new FileChooserDialog ("Open file",
                                    window,
                                    FileChooserAction.OPEN,
                                    Stock.OK,     ResponseType.ACCEPT,
                                    Stock.CANCEL, ResponseType.CANCEL)

    switch (dialog.run ())

    case ResponseType.ACCEPT
        var filename
        filename = dialog.get_filename ()
        image.set_from_file (filename)
        break
    default
        break

    dialog.destroy ()

case ステートメントで明らかにエラーがスローされます。Genieでスイッチを使用するには?

4

1 に答える 1