diff --git a/.gitignore b/.gitignore index 5291a38..fab7372 100644 --- a/.gitignore +++ b/.gitignore @@ -1,43 +1,73 @@ -# C++ objects and libs -*.slo -*.lo -*.o -*.a -*.la -*.lai -*.so -*.dll -*.dylib +# This file is used to ignore files which are generated +# ---------------------------------------------------------------------------- -# Qt-es -object_script.*.Release -object_script.*.Debug -*_plugin_import.cpp +*~ +*.autosave +*.a +*.core +*.moc +*.o +*.obj +*.orig +*.rej +*.so +*.so.* +*_pch.h.cpp +*_resource.rc +*.qm +.#* +*.*# +core +!core/ +tags +.DS_Store +.directory +*.debug +Makefile* +*.prl +*.app +moc_*.cpp +ui_*.h +qrc_*.cpp +Thumbs.db +*.res +*.rc /.qmake.cache /.qmake.stash -*.pro.user -*.pro.user.* -*.qbs.user -*.qbs.user.* -*.moc -moc_*.cpp -moc_*.h -qrc_*.cpp -ui_*.h -*.qmlc -*.jsc -Makefile* -*build-* -# Qt unit tests -target_wrapper.* +# qtcreator generated files +*.pro.user* -# QtCreator -*.autosave +# xemacs temporary files +*.flc -# QtCreator Qml -*.qmlproject.user -*.qmlproject.user.* +# Vim temporary files +.*.swp + +# Visual Studio generated files +*.ib_pdb_index +*.idb +*.ilk +*.pdb +*.sln +*.suo +*.vcproj +*vcproj.*.*.user +*.ncb +*.sdf +*.opensdf +*.vcxproj +*vcxproj.* + +# MinGW generated files +*.Debug +*.Release + +# Python byte code +*.pyc + +# Binaries +# -------- +*.dll +*.exe -# QtCreator CMake -CMakeLists.txt.user* diff --git a/cfontview.cpp b/cfontview.cpp new file mode 100644 index 0000000..f60a850 --- /dev/null +++ b/cfontview.cpp @@ -0,0 +1,25 @@ +#include "cfontview.h" +#include "ui_cfontview.h" + + +cFontView::cFontView(QWidget *parent) : + QWidget(parent), + ui(new Ui::cFontView) +{ + ui->setupUi(this); +} + +cFontView::~cFontView() +{ + delete ui; +} + +void cFontView::setText(const QString& text) +{ + ui->m_lpSampleText->setText(text); +} + +void cFontView::setFont(const QFont& font) +{ + ui->m_lpSampleText->setFont(font); +} diff --git a/cfontview.h b/cfontview.h new file mode 100644 index 0000000..7530c95 --- /dev/null +++ b/cfontview.h @@ -0,0 +1,25 @@ +#ifndef CFONTVIEW_H +#define CFONTVIEW_H + +#include + +namespace Ui { +class cFontView; +} + +class cFontView : public QWidget +{ + Q_OBJECT + +public: + explicit cFontView(QWidget *parent = nullptr); + ~cFontView(); + + void setText(const QString& text); + void setFont(const QFont& font); + +private: + Ui::cFontView* ui; +}; + +#endif // CFONTVIEW_H diff --git a/cfontview.ui b/cfontview.ui new file mode 100644 index 0000000..4e5b766 --- /dev/null +++ b/cfontview.ui @@ -0,0 +1,49 @@ + + + cFontView + + + + 0 + 0 + 400 + 300 + + + + Form + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + QFrame::Box + + + QFrame::Plain + + + TextLabel + + + + + + + + diff --git a/cmainwindow.cpp b/cmainwindow.cpp new file mode 100644 index 0000000..fbb808c --- /dev/null +++ b/cmainwindow.cpp @@ -0,0 +1,35 @@ +#include "cmainwindow.h" +#include "ui_cmainwindow.h" + +#include "cfontview.h" + +#include +#include + + +cMainWindow::cMainWindow(QWidget *parent) + : QMainWindow(parent) + , ui(new Ui::cMainWindow) +{ + ui->setupUi(this); + + QFontDatabase fontDatabase; + + fontDatabase.addApplicationFont("C:\\Temp\\Fonts\\a song for jennifer.ttf"); + fontDatabase.addApplicationFont("C:\\Temp\\Fonts\\Grunge Handwriting.ttf"); + + QStringList families = fontDatabase.families(); + + for(const QString& family : families) + { + cFontView* lpFontView = new cFontView(this); + lpFontView->setText(family); + lpFontView->setFont(QFont(family, 16)); + ui->m_lpLayout->addWidget(lpFontView); + } +} + +cMainWindow::~cMainWindow() +{ + delete ui; +} diff --git a/cmainwindow.h b/cmainwindow.h new file mode 100644 index 0000000..65f0642 --- /dev/null +++ b/cmainwindow.h @@ -0,0 +1,21 @@ +#ifndef CMAINWINDOW_H +#define CMAINWINDOW_H + +#include + +QT_BEGIN_NAMESPACE +namespace Ui { class cMainWindow; } +QT_END_NAMESPACE + +class cMainWindow : public QMainWindow +{ + Q_OBJECT + +public: + cMainWindow(QWidget *parent = nullptr); + ~cMainWindow(); + +private: + Ui::cMainWindow *ui; +}; +#endif // CMAINWINDOW_H diff --git a/cmainwindow.ui b/cmainwindow.ui new file mode 100644 index 0000000..f893c2e --- /dev/null +++ b/cmainwindow.ui @@ -0,0 +1,73 @@ + + + cMainWindow + + + + 0 + 0 + 800 + 600 + + + + cMainWindow + + + + + + + true + + + + + 0 + 0 + 780 + 539 + + + + + + + 1 + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + + + 0 + 0 + 800 + 21 + + + + + + + + diff --git a/fontManager.pro b/fontManager.pro new file mode 100644 index 0000000..1122c78 --- /dev/null +++ b/fontManager.pro @@ -0,0 +1,34 @@ +QT += core gui + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +CONFIG += c++11 + +# The following define makes your compiler emit warnings if you use +# any Qt feature that has been marked deprecated (the exact warnings +# depend on your compiler). Please consult the documentation of the +# deprecated API in order to know how to port your code away from it. +DEFINES += QT_DEPRECATED_WARNINGS + +# You can also make your code fail to compile if it uses deprecated APIs. +# In order to do so, uncomment the following line. +# You can also select to disable deprecated APIs only up to a certain version of Qt. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + +SOURCES += \ + cfontview.cpp \ + main.cpp \ + cmainwindow.cpp + +HEADERS += \ + cfontview.h \ + cmainwindow.h + +FORMS += \ + cfontview.ui \ + cmainwindow.ui + +# Default rules for deployment. +qnx: target.path = /tmp/$${TARGET}/bin +else: unix:!android: target.path = /opt/$${TARGET}/bin +!isEmpty(target.path): INSTALLS += target diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..705e3e9 --- /dev/null +++ b/main.cpp @@ -0,0 +1,12 @@ +#include "cmainwindow.h" + +#include + + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + cMainWindow w; + w.show(); + return a.exec(); +}