~ubuntu-branches/ubuntu/trusty/fritzing/trusty-proposed

« back to all changes in this revision

Viewing changes to src/mainwindow/fritzingwindow.h

  • Committer: Package Import Robot
  • Author(s): Enrique Hernández Bello
  • Date: 2012-11-11 21:38:56 UTC
  • mfrom: (1.1.5)
  • Revision ID: package-import@ubuntu.com-20121111213856-0825ywdrtdcshl91
Tags: 0.7.10b-1
* New upstream version. Closes: #661495, #692998
* Removed useless patches.
* Removed SetupAPI.lib from sourceless files.
* Skip dfsg tarball creation if there are no sourceless files.
* Added libqt4-sql-sqlite to dependencies. Thanks to Tom Hummel <tom@bluespice.org>.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*******************************************************************
 
2
 
 
3
Part of the Fritzing project - http://fritzing.org
 
4
Copyright (c) 2007-2012 Fachhochschule Potsdam - http://fh-potsdam.de
 
5
 
 
6
Fritzing is free software: you can redistribute it and/or modify
 
7
it under the terms of the GNU General Public License as published by
 
8
the Free Software Foundation, either version 3 of the License, or
 
9
(at your option) any later version.
 
10
 
 
11
Fritzing is distributed in the hope that it will be useful,
 
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
14
GNU General Public License for more details.
 
15
 
 
16
You should have received a copy of the GNU General Public License
 
17
along with Fritzing.  If not, see <http://www.gnu.org/licenses/>.
 
18
 
 
19
********************************************************************
 
20
 
 
21
$Revision: 6496 $:
 
22
$Author: irascibl@gmail.com $:
 
23
$Date: 2012-09-30 02:00:34 +0200 (Sun, 30 Sep 2012) $
 
24
 
 
25
********************************************************************/
 
26
 
 
27
 
 
28
#ifndef FRITZINGWINDOW_H_
 
29
#define FRITZINGWINDOW_H_
 
30
 
 
31
#include <QMainWindow>
 
32
#include <QDir>
 
33
#include <QStatusBar>
 
34
#include <QMessageBox>
 
35
 
 
36
#include "../waitpushundostack.h"
 
37
#include "../utils/misc.h"
 
38
#include "../utils/bundler.h"
 
39
 
 
40
class FritzingWindow : public QMainWindow, public Bundler 
 
41
{
 
42
        Q_OBJECT
 
43
 
 
44
public:
 
45
        FritzingWindow(const QString &untitledFileName, int &untitledFileCount, QString fileExt, QWidget * parent = 0, Qt::WFlags f = 0);
 
46
        const QString &fileName();
 
47
        void setFileName(const QString &);
 
48
 
 
49
        virtual void notClosableForAWhile();
 
50
        static bool alreadyHasExtension(const QString &fileName, const QString &extension=___emptyString___);
 
51
 
 
52
signals:
 
53
        void readOnlyChanged(bool isReadOnly);
 
54
 
 
55
protected slots:
 
56
        void undoStackCleanChanged(bool isClean);
 
57
        virtual bool save();
 
58
        virtual bool saveAs();
 
59
 
 
60
protected:
 
61
        bool save(const QString & filename, bool readOnly);
 
62
        bool saveAs(const QString & filename, bool readOnly);
 
63
        virtual void setTitle();
 
64
        virtual const QString fritzingTitle();
 
65
        virtual const QString fileExtension() = 0;
 
66
        virtual const QString untitledFileName() = 0;
 
67
        virtual int &untitledFileCount() = 0;
 
68
        virtual const QString defaultSaveFolder() = 0;
 
69
        virtual QString getExtensionString() = 0;
 
70
        virtual QStringList getExtensions() = 0;
 
71
 
 
72
        virtual bool saveAsAux(const QString & fileName) = 0;
 
73
        virtual bool beforeClosing(bool showCancel, bool & discard);                    // returns true if close, false if cancel
 
74
    QMessageBox::StandardButton beforeClosingMessage(const QString & filename, bool showCancel);
 
75
    virtual void setBeforeClosingText(const QString & filename, QMessageBox & messageBox);
 
76
 
 
77
        void createCloseAction();
 
78
 
 
79
        void setReadOnly(bool readOnly);
 
80
        virtual bool anyModified();
 
81
 
 
82
protected:
 
83
        class WaitPushUndoStack * m_undoStack;
 
84
        QString m_fwFilename;
 
85
        bool m_readOnly;
 
86
        QAction *m_closeAct;
 
87
        QDir m_tempDir;
 
88
        QStatusBar *m_statusBar;
 
89
 
 
90
protected:
 
91
        static QStringList OtherKnownExtensions;
 
92
 
 
93
public:
 
94
        static QString ReadOnlyPlaceholder;
 
95
        static const QString QtFunkyPlaceholder;
 
96
};
 
97
 
 
98
#endif /* FRITZINGWINDOW_H_ */