Thread Gtk3/2 Glade und Fenster via MenuItem schließen mit Abfrage (2 answers)
Opened by mika at 2018-10-15 15:40

mika
 2018-10-15 15:40
#188958 #188958
User since
2010-10-02
168 Artikel
BenutzerIn

user image
Hallo,

ich habe mir eine kleine GUI geschrieben, via Glade, mit einem Gtk3::Window:

Beim Beenden soll vor dem Schließen des Fenster aber vor nicht gespeicherter Änderungen gewarnt werden. Über die Windowdekoration funktioniert mein Code schon (s.u.) aber ich habe auch ein Gtk3::MenuItem um das Fenster zu schließen, dies funktioniert nicht.

Das habe ich:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
sub on_Window_delete_event {

    ...

    my ( $foo, ... ) = ...;

    if ($foo) {

        my $MessageDialog = Gtk3::MessageDialog->new(
            $Window,
            'destroy-with-parent',
            'GTK_MESSAGE_QUESTION',
            'GTK_BUTTONS_YES_NO',
            "Sie haben %d nicht gespeicherte Änderungen, Fenster dennoch schießen", ...,
        );
        my $Response = $MessageDialog->run;
        $MessageDialog->destroy;

        given ($Response) {
            when ("yes") { return Gtk3::EVENT_PROPAGATE; }
            when ("no")  { return Gtk3::EVENT_STOP; }
            default      { ; }
        }
    }
    else {
         return Gtk3::EVENT_PROPAGATE;
    }
}

sub on_Window_destroy {
    Gtk3->main_quit;
}



Aber wie löse ich diese Events von oben aus, wenn das Gtk3::MenuItem mit der Id Quit geklickt wird?

Glib::Object::signal_emit($Window, "event", Gtk3::Gdk::Event->new (""));
$Window->signal_emit("event", Gtk3::Gdk::Event->new (""));

?
Last edited: 2018-10-15 15:51:15 +0200 (CEST)

View full thread Gtk3/2 Glade und Fenster via MenuItem schließen mit Abfrage