Пример #1
0
void MainFrame::RestorePosition(const wxString &name)
{
	bool maximized;
	int x, y, w, h;

	m_currentDir = wxT("./projects");

	wxConfigBase *config = wxConfigBase::Get();
	config->SetPath(name);
	if (config->Read(wxT("IsMaximized"), &maximized))
	{
		Maximize(maximized);
		x = y = w = h = -1;
		config->Read(wxT("PosX"), &x);
		config->Read(wxT("PosY"), &y);
		config->Read(wxT("SizeW"), &w);
		config->Read(wxT("SizeH"), &h);
		SetSize(x, y, w, h);
		bool iconized = false;
		config->Read(wxT("IsIconized"), &iconized);
		if (iconized) Iconize(iconized);
	}
	config->Read(wxT("CurrentDirectory"), &m_currentDir);

	config->Read(wxT("RecentFile0"),&m_recentProjects[0]);
	config->Read(wxT("RecentFile1"),&m_recentProjects[1]);
	config->Read(wxT("RecentFile2"),&m_recentProjects[2]);
	config->Read(wxT("RecentFile3"),&m_recentProjects[3]);

	config->SetPath(wxT(".."));
	UpdateRecentProjects();
}
Пример #2
0
void MainWindow::ShowWelcome() {
    is_project_open_ = false;
    setWindowTitle("Multitrack");

    welcome_widget_ = new WelcomeWidget(this);
    setCentralWidget(welcome_widget_);
    UpdateRecentProjects();
    adjustSize();
    resize(welcome_size_);

    connect(welcome_widget_, SIGNAL(New()), this, SLOT(NewProject()));
    connect(welcome_widget_, SIGNAL(Open()), this, SLOT(OpenProject()));
    connect(welcome_widget_, SIGNAL(RecentProjectChosen(int)),
            this, SLOT(OpenRecentProject(int)));
    ui->actionSave_project->setEnabled(false);
    ui->actionSave_project_as->setEnabled(false);
    ui->actionClose_project->setEnabled(false);
}
Пример #3
0
void MainWindow::OpenProject(const QString &filename) {
    if (!is_project_open_ || project_widget_->Close()) {
        QFile file(filename);
        if (!file.open(QIODevice::ReadOnly)) {
            QMessageBox::critical(this, "Error", "Could not open file " + filename);
        } else {
            QDataStream ds(&file);
            ds >> *project_;
            file.close();
            ViewProject(filename, true);

            // Update recent projects.
            RecentProject recent_project(project_->name(), filename);
            int ind = recent_projects_.indexOf(recent_project);
            if (ind != -1) recent_projects_.remove(ind);
            recent_projects_.insert(0, recent_project);
            UpdateRecentProjects(true);
        }
    }
Пример #4
0
void MainFrame::InsertRecentProject(const wxString &file)
{
	bool found = false;
	int i;

	for (i = 0; i < 4 && !found; i++)
		found = (file == m_recentProjects[i]);

	if (found) // en i-1 está la posición encontrada (0 < i < 4)
	{
		// desplazamos desde 0 hasta i-1 una posición a la derecha
		for (i = i - 1; i > 0; i--)
			m_recentProjects[i] = m_recentProjects[i-1];
	}
	else if (!found)
	{
		for (i = 3; i > 0; i--)
			m_recentProjects[i] = m_recentProjects[i-1];
	}
	m_recentProjects[0] = file;

	UpdateRecentProjects();
}
Пример #5
0
void MainWindow::RemoveRecentProject(int pos) {
    recent_projects_.remove(pos);
    UpdateRecentProjects(true);
}