mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-10-20 02:30:21 +01:00
raise confirmation alert before quit
Some checks failed
Build Debian packages / bookworm (push) Has been cancelled
Build Debian packages / bullseye (push) Has been cancelled
Build Debian packages / trixie (push) Has been cancelled
Build on FreeBSD / with UPnP (push) Has been cancelled
Build on OSX / With USE_UPNP=no (push) Has been cancelled
Build on OSX / With USE_UPNP=yes (push) Has been cancelled
Build on Windows / clang-x86_64 (push) Has been cancelled
Build on Windows / i686 (push) Has been cancelled
Build on Windows / ucrt-x86_64 (push) Has been cancelled
Build on Windows / x86_64 (push) Has been cancelled
Build on Windows / CMake clang-x86_64 (push) Has been cancelled
Build on Windows / CMake i686 (push) Has been cancelled
Build on Windows / CMake ucrt-x86_64 (push) Has been cancelled
Build on Windows / CMake x86_64 (push) Has been cancelled
Build on Windows / XP (push) Has been cancelled
Build on Ubuntu / Make with USE_UPNP=no (push) Has been cancelled
Build on Ubuntu / Make with USE_UPNP=yes (push) Has been cancelled
Build on Ubuntu / CMake with -DWITH_UPNP=OFF (push) Has been cancelled
Build on Ubuntu / CMake with -DWITH_UPNP=ON (push) Has been cancelled
Build containers / Building container for linux/amd64 (push) Has been cancelled
Build containers / Building container for linux/arm64 (push) Has been cancelled
Build containers / Building container for linux/arm/v7 (push) Has been cancelled
Build containers / Building container for linux/386 (push) Has been cancelled
Build containers / Pushing merged manifest (push) Has been cancelled
Some checks failed
Build Debian packages / bookworm (push) Has been cancelled
Build Debian packages / bullseye (push) Has been cancelled
Build Debian packages / trixie (push) Has been cancelled
Build on FreeBSD / with UPnP (push) Has been cancelled
Build on OSX / With USE_UPNP=no (push) Has been cancelled
Build on OSX / With USE_UPNP=yes (push) Has been cancelled
Build on Windows / clang-x86_64 (push) Has been cancelled
Build on Windows / i686 (push) Has been cancelled
Build on Windows / ucrt-x86_64 (push) Has been cancelled
Build on Windows / x86_64 (push) Has been cancelled
Build on Windows / CMake clang-x86_64 (push) Has been cancelled
Build on Windows / CMake i686 (push) Has been cancelled
Build on Windows / CMake ucrt-x86_64 (push) Has been cancelled
Build on Windows / CMake x86_64 (push) Has been cancelled
Build on Windows / XP (push) Has been cancelled
Build on Ubuntu / Make with USE_UPNP=no (push) Has been cancelled
Build on Ubuntu / Make with USE_UPNP=yes (push) Has been cancelled
Build on Ubuntu / CMake with -DWITH_UPNP=OFF (push) Has been cancelled
Build on Ubuntu / CMake with -DWITH_UPNP=ON (push) Has been cancelled
Build containers / Building container for linux/amd64 (push) Has been cancelled
Build containers / Building container for linux/arm64 (push) Has been cancelled
Build containers / Building container for linux/arm/v7 (push) Has been cancelled
Build containers / Building container for linux/386 (push) Has been cancelled
Build containers / Pushing merged manifest (push) Has been cancelled
This commit is contained in:
parent
80080fd8f5
commit
1891bd5ba5
1 changed files with 22 additions and 6 deletions
|
@ -47,6 +47,7 @@ class MainWindow: public BWindow
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void MessageReceived (BMessage * msg) override;
|
void MessageReceived (BMessage * msg) override;
|
||||||
|
bool QuitRequested () override;
|
||||||
|
|
||||||
void UpdateMainView ();
|
void UpdateMainView ();
|
||||||
|
|
||||||
|
@ -54,6 +55,7 @@ class MainWindow: public BWindow
|
||||||
BMessenger m_Messenger;
|
BMessenger m_Messenger;
|
||||||
BStringView * m_MainView;
|
BStringView * m_MainView;
|
||||||
std::unique_ptr<BMessageRunner> m_MainViewUpdateTimer, m_GracefulShutdownTimer;
|
std::unique_ptr<BMessageRunner> m_MainViewUpdateTimer, m_GracefulShutdownTimer;
|
||||||
|
bool m_IsGracefulShutdownComplete = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
class I2PApp: public BApplication
|
class I2PApp: public BApplication
|
||||||
|
@ -130,22 +132,36 @@ void MainWindow::MessageReceived (BMessage * msg)
|
||||||
{
|
{
|
||||||
m_GracefulShutdownTimer = nullptr;
|
m_GracefulShutdownTimer = nullptr;
|
||||||
Daemon.gracefulShutdownInterval = 0;
|
Daemon.gracefulShutdownInterval = 0;
|
||||||
|
m_IsGracefulShutdownComplete = true;
|
||||||
m_Messenger.SendMessage (B_QUIT_REQUESTED);
|
m_Messenger.SendMessage (B_QUIT_REQUESTED);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case B_QUIT_REQUESTED:
|
|
||||||
m_MainViewUpdateTimer = nullptr;
|
|
||||||
m_GracefulShutdownTimer = nullptr;
|
|
||||||
BWindow::MessageReceived (msg);
|
|
||||||
break;
|
|
||||||
case M_RUN_PEER_TEST:
|
case M_RUN_PEER_TEST:
|
||||||
i2p::transport::transports.PeerTest ();
|
i2p::transport::transports.PeerTest ();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
BWindow::MessageReceived (msg);
|
BWindow::MessageReceived (msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool MainWindow::QuitRequested ()
|
||||||
|
{
|
||||||
|
bool isQuit = true;
|
||||||
|
if (!m_IsGracefulShutdownComplete)
|
||||||
|
{
|
||||||
|
auto alert = new BAlert (nullptr, "This will stop i2pd. Are you sure?", "Cancel", "Yes", "No",
|
||||||
|
B_WIDTH_AS_USUAL, B_OFFSET_SPACING, B_WARNING_ALERT);
|
||||||
|
alert->SetShortcut (0, B_ESCAPE);
|
||||||
|
isQuit = alert->Go () == 1; // Yes
|
||||||
|
}
|
||||||
|
if (isQuit)
|
||||||
|
{
|
||||||
|
m_MainViewUpdateTimer = nullptr;
|
||||||
|
m_GracefulShutdownTimer = nullptr;
|
||||||
|
}
|
||||||
|
return isQuit;
|
||||||
|
}
|
||||||
|
|
||||||
I2PApp::I2PApp (): BApplication("application/x-vnd.purplei2p-i2pd")
|
I2PApp::I2PApp (): BApplication("application/x-vnd.purplei2p-i2pd")
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue