
Ubuntu日本語フォーラム

ログインしていません。
現在、GUIからシャットダウンボタンを押した際に一度メッセージボックスを表示する→メッセージボックスのOKボタンを押す→シャットダウンする
というアプリケーションを作成しています。
しかし、メッセージボックスは一瞬表示されるものの、OKボタンを押す前にウインドウが消えてしまい、そのままシャットダウンされてしまいます。
OKボタンが押されるまでメッセージボックスを表示したいのですが、どうすればシャットダウンを一時停止(メッセージボックスを表示)できるのでしょうか?
同様にログアウトボタンを押してログアウトをした場合にも上記の動作をするようにしたのですが、こちらはログアウト処理が一時中断され、OKボタンが押されたらログアウトということができました。
Ubuntu 12.04
オフライン
csn 様へ.
状況がよくわからないのですが,それはダイアログが出ると
同時にシャットダウンの過程に入っているのでは?
ひとまず,以下の情報がないと誰も答えられないと思います.
* アプリケーションの言語
* 可能であれば,該当する部分のソースコード
オフライン
hellfire様
お返事ありがとうございます。
>ダイアログが出ると
同時にシャットダウンの過程に入っているのでは?
まさにそうだと思います。
現在は /etc/init.dに以下のシェルスクリプトを置き、rc0.d~rc6.dにそれぞれシンボリックリンクしてプログラムをキックしています。
-----------------------------------
#!/bin/sh
./messagebox
-----------------------------------
messageboxについてはQt4CreaterでC++を使用して作成しました。
uiにテキストラベルとOKボタンのみを配置しボタンクリックイベントに
system("date >> date.txt");
Message::Clise();
としているだけです。
わかりにくくて申し訳ありません。
オフライン
csn 様へ.
非常にトリッキーなことをしてますね.
そうなると私の手には負えなくなってしまうので,
アドバイスのみとなりますが,イベントのプログラムの
構文は合ってますか?
Qt4Creator は優秀なプログラムで
ホイホイ GUI プログラムができますが,
痒い所に手が届かなかったと記憶しております.
よって,間違った構文になっていないかチェックしてみてはいかがでしょうか?
オフライン
hellfire様
お返事ありがとうございます。
プログラムをクリックで起動したときやログアウト時の起動の際は希望通りの動きをしているので、プログラム自体は正常だと思います。
たとえばテキストエディタなどで未保存のファイル(編集中のファイル)がある状態でシャットダウンすると警告が出てシャットダウンを止めてくれますが、
何かこのようにプログラムでシャットダウンを止めてくれる仕組みはないものかと考えています。
ありがとうございました。
訂正:
Message::Clise();
↓
Message::Close();
オフライン
Session Management で検索したら、以下のドキュメントが見つかりました。参考にしてみてください。
Qt4:
http://doc.qt.nokia.com/4.7-snapshot/session.html
Gtk+3:
http://developer.gnome.org/gtk3/3.3/gtk-migrating-smclient-GtkApplication.html
オフライン