Ejemplo n.º 1
0
void MenuBar::addFileMenu()
{
    QMenu *m = new QMenu(Qrc::text("menubar.file"), this);
    QMenu *o = new QMenu(Qrc::text("menubar.file.open"), m);
    o->addAction(Qrc::text("menubar.file.open.apk"), parent(), SLOT(onMenuBarFileOpenApk()), QKeySequence::New);
    o->addAction(Qrc::text("menubar.file.open.dir"), parent(), SLOT(onMenuBarFileOpenDir()), QKeySequence::Open);
    o->addSeparator();
    o->addAction(Qrc::text("menubar.file.open.file"), parent(), SLOT(onMenuBarFileOpenFile()));
    m->addAction(o->menuAction());
    m->addSeparator();
    m->addAction(Qrc::text("menubar.file.close"), parent(), SLOT(onMenuBarFileClose()), QKeySequence::Close);
    m->addAction(Qrc::text("menubar.file.close_all"), parent(), SLOT(onMenuBarFileCloseAll()));
    m->addSeparator();
    m->addAction(Qrc::text("menubar.file.save"), parent(), SLOT(onMenuBarFileSave()), QKeySequence::Save);
    m->addAction(Qrc::text("menubar.file.save_all"), parent(), SLOT(onMenuBarFileSaveAll()));
    m->addSeparator();
    QDir dir(Preferences::get()->previousProject());
    if (dir.exists() && dir.exists("apktool.yml"))
    {
        _connections << connect(m->addAction(dir.dirName()), &QAction::triggered, [=]
        {
            emit projectOpen(dir.absolutePath());
        });
    }
    else
    {
        m->addAction(Qrc::text("menubar.file.recent_none"))->setEnabled(false);
    }
    m->addSeparator();
    m->addAction(Qrc::text("menubar.file.terminal"), parent(), SLOT(onMenuBarFileTerminal()));
    m->addSeparator();
    m->addAction(Qrc::text("menubar.file.quit"), parent(), SLOT(onMenuBarFileQuit()), QKeySequence::Quit);
    addAction(m->menuAction());
}
Ejemplo n.º 2
0
void Ide::onMenuBarProjectOpen(const QString &p)
{
    _project = p;
    emit projectOpen(p);
    QString manifest;
    if (QFile::exists(manifest = PathUtils::combine(p, "AndroidManifest.xml")))
    {
        emit fileOpen(manifest);
    }
}
Ejemplo n.º 3
0
AS_NAMESPACE_START

MenuBar::MenuBar(QWidget *p)
    : QMenuBar(p)
{
    addFileMenu();
    addEditMenu();
    addProjectMenu();
    addHelpMenu();
    _connections << connect(this, SIGNAL(projectOpen(QString)), p, SLOT(onMenuBarProjectOpen(QString)));
}
Ejemplo n.º 4
0
bool SettingsController::ensureProjectIsLoaded()
{
    if (Project::instance()->isLoaded())
        return true;

    int answer=KMessageBox::questionYesNoCancel(m_mainWindowPtr, i18n("You have accessed a feature that requires a project to be loaded. Do you want to create a new project or open an existing project?"),
        QString(), KGuiItem(i18nc("@action","New"),QIcon::fromTheme("document-new")), KGuiItem(i18nc("@action","Open"),QIcon::fromTheme("project-open"))
    );
    if (answer==KMessageBox::Yes)
        return projectCreate();
    if (answer==KMessageBox::No)
        return !projectOpen().isEmpty();
    return false;
}
Ejemplo n.º 5
0
APP_NAMESPACE_START

ProjectDock::ProjectDock(QWidget *p)
    : QDockWidget(__("project", "docks"), p)
{
    _connections << connect(this, SIGNAL(fileOpen(QString)), p, SLOT(onFileOpen(QString)));
    _connections << connect(p, SIGNAL(projectOpen(QString)), this, SLOT(onProjectOpen(QString)));
    _connections << connect(p, SIGNAL(projectReload()), this, SLOT(onProjectReload()));
    _tree = new QTreeWidget(this);
    _tree->header()->hide();
    _tree->setContextMenuPolicy(Qt::CustomContextMenu);
    _tree->setEditTriggers(QAbstractItemView::NoEditTriggers);
    _tree->setSelectionBehavior(QAbstractItemView::SelectItems);
    _tree->setSelectionMode(QAbstractItemView::SingleSelection);
    _tree->setSortingEnabled(false);
    _connections << connect(_tree, &QTreeWidget::doubleClicked, this, &ProjectDock::onDoubleClicked);
    setObjectName("ProjectDock");
    setWidget(_tree);
}