Skip to content

Commit 30e888d

Browse files
committed
first commit
0 parents  commit 30e888d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+9317
-0
lines changed

Diff for: .gitignore

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Makefile*
2+
TESTE/
3+
_build/
4+
object_script.*
5+
*.pro.user

Diff for: LICENSE

+674
Large diffs are not rendered by default.

Diff for: README.md

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
Introduction
2+
============
3+
4+
Component Organizer (or CO for short) is a small, cross-platform and very easy to use application targeted at all those people who have electronics as (at least) an hobby. It's main purpose is to avoid to google for the same datasheet hundreds of times or "hey I know I already downloaded that datasheet but I can't find it now on my computer", so you spend less time gathering information and have more time to look at the hardware which off course is the best part :-). With Component Organizer you can easily search and manage your datasheets and application notes. You can as well manage your component's stock and be alerted when it's on low stock or without sock. A component can be an amplifier, a microcontroller, but also a development board, a compiler... All those things that have an heavy document describing it's features and/or how it works. It doesn't require installation and so it's very portable. You can use it in a PEN drive or with Dropbox allowing your data to be always acessible.
5+
6+
Official webpage: http://3xdigital.com
7+
8+
Building
9+
==========================
10+
11+
CO is C++ with Qt4.
12+
The tools used for development:
13+
QtCreator (2.4.1)
14+
Qt (4.7.4)
15+
16+
The easiest way to build CO is by using QtCreator IDE. Download it, and Qt 4.7.4, from Qt's website (http://qt.nokia.com/). Then:
17+
18+
1) Run QtCreator
19+
20+
2) Open CO's project file (comporg.pro)
21+
22+
3) Build > Run qmake
23+
24+
4) Build > Build All
25+
26+
Depending on the OS used (Win, Linux, Mac OS), an OS-specific file is created under "_build/release/bin directory". For example, if you are on Windows a file named "comporg_win.exe" will be created.
27+
28+
Using
29+
==========================
30+
31+
CO it's pretty straight forward to use. Just start by adding components through File>Add new...>Component. By right-clicking on the table you'll get a context menu with everything you need to manage your items.
32+
33+
Contributing (!)
34+
==========================
35+
36+
Git is a wonderful thing. If you aren't familiar with it I would recomend you to google for some tutorials, there are several good ones out there. Then, fork/clone CO! Do whatever modifications you find useful, don't be afraid to scratch on it. The next step is to make a pull request. And that's it. Simple, isn't it?
37+
There are however some priorities in the CO's further development. See the wiki for more details.
38+
39+
Bug reports, suggestions and feature requests, please use the "Issues" tab. They are very welcomed!
40+
41+
"Hacking"
42+
==========================
43+
44+
CO uses a XML file to store data. You can find it on /data/data.xml. Open it with a text editor (I like Notepad++) to see how info is organized. This file means that you can edit your data directly and then reflect those changes on CO. For example, to add a new package you just have to add a line like this: <package name="mynewpackage"/> between the <packages> ... <packages/> tags. The same principle applies to everything else, you just have to understand how data is organized. However, you can also mess up all your data this way! Before make any changes make sure you backup data.xml. If you are not sure if you are doing things right just don't edit data.xml and use CO's interface.

Diff for: comporg.pro

+99
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# Component Organizer
2+
# Copyright (C) Mário Ribeiro ([email protected])
3+
4+
# This program is free software: you can redistribute it and/or modify
5+
# it under the terms of the GNU General Public License as published by
6+
# the Free Software Foundation, either version 3 of the License, or
7+
# (at your option) any later version.
8+
9+
# This program is distributed in the hope that it will be useful,
10+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
# GNU General Public License for more details.
13+
14+
# You should have received a copy of the GNU General Public License
15+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
16+
17+
QT += core gui
18+
19+
win32:TARGET = comporg_win
20+
TEMPLATE = app
21+
22+
DEFINES += QT_NO_DEBUG_OUTPUT
23+
DEFINES += QT_NO_DEBUG
24+
25+
win32:RC_FILE = resources/app.rc
26+
27+
INCLUDEPATH += core/
28+
INCLUDEPATH += gui/
29+
30+
SOURCES += main.cpp \
31+
core/manufacturer.cpp \
32+
core/datasheet.cpp \
33+
core/container.cpp \
34+
core/component.cpp \
35+
core/applicationnote.cpp \
36+
gui/ptablewidget.cpp \
37+
gui/mainwindow.cpp \
38+
gui/applicationnotetable.cpp \
39+
gui/componenttable.cpp \
40+
gui/componentdialog.cpp \
41+
gui/ptoolbutton.cpp \
42+
core/package.cpp \
43+
gui/componentdetails.cpp \
44+
gui/pminitablewidget.cpp \
45+
gui/datasheettable.cpp \
46+
gui/stocktable.cpp \
47+
core/stock.cpp \
48+
gui/pspinbox.cpp \
49+
core/label.cpp \
50+
gui/optionsdialog.cpp \
51+
gui/applicationnotedialog.cpp \
52+
core/co.cpp
53+
54+
HEADERS += core/manufacturer.h \
55+
core/datasheet.h \
56+
core/container.h \
57+
core/component.h \
58+
core/applicationnote.h \
59+
gui/ptablewidget.h \
60+
gui/mainwindow.h \
61+
gui/applicationnotetable.h \
62+
gui/componenttable.h \
63+
gui/componentdialog.h \
64+
gui/ptoolbutton.h \
65+
core/package.h \
66+
gui/componentdetails.h \
67+
gui/pminitablewidget.h \
68+
gui/datasheettable.h \
69+
gui/stocktable.h \
70+
core/stock.h \
71+
core/co_defs.h \
72+
gui/pspinbox.h \
73+
core/label.h \
74+
gui/optionsdialog.h \
75+
gui/applicationnotedialog.h \
76+
core/co.h
77+
78+
FORMS += gui/mainwindow.ui \
79+
gui/componentdialog.ui \
80+
gui/componentdetails.ui \
81+
gui/optionsdialog.ui \
82+
gui/applicationnotedialog.ui
83+
84+
OBJECTS_DIR = _build/tmp/obj
85+
MOC_DIR = _build/tmp/moc
86+
RCC_DIR = _build/tmp/rcc
87+
UI_DIR = _build/tmp/ui
88+
89+
CONFIG(debug, debug|release) {
90+
DESTDIR = _build/debug/bin
91+
} else {
92+
DESTDIR = _build/release/bin
93+
}
94+
95+
RESOURCES += \
96+
resources/img.qrc
97+
98+
OTHER_FILES += \
99+
resources/app.rc

Diff for: core/applicationnote.cpp

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*********************************************************************
2+
Component Organizer
3+
Copyright (C) Mário Ribeiro ([email protected])
4+
5+
This program is free software: you can redistribute it and/or modify
6+
it under the terms of the GNU General Public License as published by
7+
the Free Software Foundation, either version 3 of the License, or
8+
(at your option) any later version.
9+
10+
This program is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
GNU General Public License for more details.
14+
15+
You should have received a copy of the GNU General Public License
16+
along with this program. If not, see <http://www.gnu.org/licenses/>.
17+
**********************************************************************/
18+
19+
#include "applicationnote.h"
20+
21+
ApplicationNote::ApplicationNote(const QString description, QObject *parent) :
22+
QObject(parent),
23+
m_description(description)
24+
{
25+
}

Diff for: core/applicationnote.h

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
/*********************************************************************
2+
Component Organizer
3+
Copyright (C) Mário Ribeiro ([email protected])
4+
5+
This program is free software: you can redistribute it and/or modify
6+
it under the terms of the GNU General Public License as published by
7+
the Free Software Foundation, either version 3 of the License, or
8+
(at your option) any later version.
9+
10+
This program is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
GNU General Public License for more details.
14+
15+
You should have received a copy of the GNU General Public License
16+
along with this program. If not, see <http://www.gnu.org/licenses/>.
17+
**********************************************************************/
18+
19+
#ifndef APPLICATIONNOTE_H
20+
#define APPLICATIONNOTE_H
21+
22+
#include <QObject>
23+
24+
class ApplicationNote : public QObject
25+
{
26+
Q_OBJECT
27+
public:
28+
explicit ApplicationNote(const QString description, QObject *parent = 0);
29+
30+
void setDescription(const QString &description) { m_description = description; }
31+
QString description() { return m_description; }
32+
33+
void setName(const QString &name) { m_name = name; }
34+
QString name() { return m_name; }
35+
36+
void setPdfPath(const QString &pdfPath) { m_pdfPath = pdfPath; }
37+
QString pdfPath() { return m_pdfPath; }
38+
39+
void setAttachedFilePath(const QString &attachedFilePath) { m_attachedFilePath = attachedFilePath; }
40+
QString attachedFilePath() { return m_attachedFilePath; }
41+
42+
signals:
43+
44+
public slots:
45+
46+
private:
47+
QString m_description;
48+
QString m_name;
49+
QString m_pdfPath;
50+
QString m_attachedFilePath;
51+
52+
};
53+
54+
#endif // APPLICATIONNOTE_H

0 commit comments

Comments
 (0)