Add RestartAegisub() function with obvious purpose.
Replace existing code that restarts Aegisub with a call to that function. Originally committed to SVN as r2644.
This commit is contained in:
parent
c98c5b10b9
commit
79b79d737f
4 changed files with 39 additions and 11 deletions
|
@ -745,8 +745,9 @@ void DialogOptions::OnOK(wxCommandEvent &event) {
|
||||||
if (answer == wxYES) {
|
if (answer == wxYES) {
|
||||||
FrameMain *frame = (FrameMain*) GetParent();
|
FrameMain *frame = (FrameMain*) GetParent();
|
||||||
if (frame->Close()) {
|
if (frame->Close()) {
|
||||||
wxStandardPaths stand;
|
RestartAegisub();
|
||||||
wxExecute(stand.GetExecutablePath());
|
//wxStandardPaths stand;
|
||||||
|
//wxExecute(stand.GetExecutablePath());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -778,8 +779,9 @@ void DialogOptions::OnCancel(wxCommandEvent &event) {
|
||||||
if (answer == wxYES) {
|
if (answer == wxYES) {
|
||||||
FrameMain *frame = (FrameMain*) GetParent();
|
FrameMain *frame = (FrameMain*) GetParent();
|
||||||
if (frame->Close()) {
|
if (frame->Close()) {
|
||||||
wxStandardPaths stand;
|
RestartAegisub();
|
||||||
wxExecute(stand.GetExecutablePath());
|
//wxStandardPaths stand;
|
||||||
|
//wxExecute(stand.GetExecutablePath());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -921,8 +923,9 @@ void DialogOptions::WriteToOptions(bool justApply) {
|
||||||
if (answer == wxYES) {
|
if (answer == wxYES) {
|
||||||
FrameMain *frame = (FrameMain*) GetParent();
|
FrameMain *frame = (FrameMain*) GetParent();
|
||||||
if (frame->Close()) {
|
if (frame->Close()) {
|
||||||
wxStandardPaths stand;
|
RestartAegisub();
|
||||||
wxExecute(stand.GetExecutablePath());
|
//wxStandardPaths stand;
|
||||||
|
//wxExecute(stand.GetExecutablePath());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -532,8 +532,9 @@ void FrameMain::OnOpenRecentAudio(wxCommandEvent &event) {
|
||||||
///////////////////
|
///////////////////
|
||||||
// Open new Window
|
// Open new Window
|
||||||
void FrameMain::OnNewWindow(wxCommandEvent& WXUNUSED(event)) {
|
void FrameMain::OnNewWindow(wxCommandEvent& WXUNUSED(event)) {
|
||||||
wxStandardPaths stand;
|
RestartAegisub();
|
||||||
wxExecute(stand.GetExecutablePath());
|
//wxStandardPaths stand;
|
||||||
|
//wxExecute(stand.GetExecutablePath());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1675,8 +1676,9 @@ void FrameMain::OnChooseLanguage (wxCommandEvent &event) {
|
||||||
if (result == wxYES) {
|
if (result == wxYES) {
|
||||||
// Restart Aegisub
|
// Restart Aegisub
|
||||||
if (Close()) {
|
if (Close()) {
|
||||||
wxStandardPaths stand;
|
RestartAegisub();
|
||||||
wxExecute(_T("\"") + stand.GetExecutablePath() + _T("\""));
|
//wxStandardPaths stand;
|
||||||
|
//wxExecute(_T("\"") + stand.GetExecutablePath() + _T("\""));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,10 +42,14 @@
|
||||||
#include <wx/filename.h>
|
#include <wx/filename.h>
|
||||||
#include <wx/menu.h>
|
#include <wx/menu.h>
|
||||||
#include <wx/dcmemory.h>
|
#include <wx/dcmemory.h>
|
||||||
|
#include <wx/stdpaths.h>
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#ifdef __UNIX__
|
#ifdef __UNIX__
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef __APPLE__
|
||||||
|
#include "libosxutil/libosxutil.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifndef __LINUX__
|
#ifndef __LINUX__
|
||||||
|
@ -379,3 +383,21 @@ wxIcon BitmapToIcon(wxBitmap iconBmp) {
|
||||||
ico.CopyFromBitmap(bmp);
|
ico.CopyFromBitmap(bmp);
|
||||||
return ico;
|
return ico;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///////////////////////
|
||||||
|
// Start Aegisub again
|
||||||
|
// It is assumed that something has prepared closing the current instance
|
||||||
|
// just before this is called.
|
||||||
|
void RestartAegisub() {
|
||||||
|
#if defined(__WXMSW__)
|
||||||
|
wxStandardPaths stand;
|
||||||
|
wxExecute(_T("\"") + stand.GetExecutablePath() + _T("\""));
|
||||||
|
#elif defined(__WXMAC__)
|
||||||
|
char *bundle_path = OSX_GetBundlePath();
|
||||||
|
if (!bundle_path) return; // oops
|
||||||
|
wxExecute(wxString::Format(_T("/usr/bin/open \"%s\""), wxString(bundle_path, wxConvUTF8)));
|
||||||
|
free(bundle_path);
|
||||||
|
#else
|
||||||
|
// someone fix this
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright (c) 2005, Rodrigo Braz Monteiro
|
// Copyright (c) 2005-2009, Rodrigo Braz Monteiro, Niels Martin Hansen
|
||||||
// All rights reserved.
|
// All rights reserved.
|
||||||
//
|
//
|
||||||
// Redistribution and use in source and binary forms, with or without
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -71,6 +71,7 @@ void GetWordBoundaries(const wxString text,IntPairVector &results,int start=0,in
|
||||||
int StringToInt(const wxString &str,int start=0,int end=-1);
|
int StringToInt(const wxString &str,int start=0,int end=-1);
|
||||||
int StringToFix(const wxString &str,size_t decimalPlaces,int start=0,int end=-1);
|
int StringToFix(const wxString &str,size_t decimalPlaces,int start=0,int end=-1);
|
||||||
wxIcon BitmapToIcon(wxBitmap bmp);
|
wxIcon BitmapToIcon(wxBitmap bmp);
|
||||||
|
void RestartAegisub();
|
||||||
|
|
||||||
|
|
||||||
//////////
|
//////////
|
||||||
|
|
Loading…
Reference in a new issue