From fff2bbbf49d82484c6b2862db900241e37443ed6 Mon Sep 17 00:00:00 2001 From: DrewTechs Date: Sat, 12 Mar 2022 03:34:44 -0500 Subject: [PATCH] Upload files to '' --- importSection.cpp | 199 ++++++++++++++++++ importSection.h | 50 +++++ importSection.ui | 156 ++++++++++++++ itemProperties.cpp | 501 +++++++++++++++++++++++++++++++++++++++++++++ itemProperties.h | 45 ++++ 5 files changed, 951 insertions(+) create mode 100644 importSection.cpp create mode 100644 importSection.h create mode 100644 importSection.ui create mode 100644 itemProperties.cpp create mode 100644 itemProperties.h diff --git a/importSection.cpp b/importSection.cpp new file mode 100644 index 0000000..a13ffd4 --- /dev/null +++ b/importSection.cpp @@ -0,0 +1,199 @@ +#include "importSection.h" +#include "ui_importSection.h" + +importSection::importSection(QStringList notebookColorList, QStringList notebookDirList, QStringList list, QWidget *parent) : + QDialog(parent), + ui(new Ui::importSection) +{ + setNotebookColorList(notebookColorList); + setNotebookDirList(notebookDirList); + setDirectoryList(list); + ui->setupUi(this); + init(); +} + +importSection::~importSection() +{ + delete ui; +} + +void importSection::init() +{ + int idx = 0; + for(idx = 0; idx < getDirectoryList().size(); idx++) + { + if(!getDirectoryList().at(idx).startsWith(" ")) + { + ui->directorySelection->addItem(SetNotebookIcon(nbColorList.at(idx)), getDirectoryList().at(idx)); + } else { + ui->directorySelection->addItem(SetSectionGroupIcon(nbColorList.at(idx)), getDirectoryList().at(idx)); + } + } +} + +void importSection::on_selectDirectoryButton_clicked() +{ + QFileDialog dialog(this); + dialog.setFileMode(QFileDialog::ExistingFile); + dialog.setNameFilter(tr("Executable File")); + QString fileName = dialog.getOpenFileName(this, tr("Open File"), QDir().homePath() + "/Documents", tr("File")); // Open Dialog + ui->importSection_Field->setText(fileName); +} + +void importSection::on_buttonBox_accepted() +{ + if(ui->importSection_Field->text() != "") + { + QFile file(ui->importSection_Field->text()); + QFileInfo fileInfo(ui->importSection_Field->text()); + if(file.exists()) + { + setNewFile(getNotebookDirList().at(ui->directorySelection->currentIndex()) + "/" + fileInfo.fileName()); + if(ui->moveItemButton->isChecked()) + { + file.copy(newFile); + file.remove(); + } + if(ui->copyItemButton->isChecked()) + { + file.copy(newFile); + } + } + } + accept(); +} +void importSection::on_buttonBox_rejected() +{ + reject(); +} + +QIcon importSection::SetNotebookIcon(QString notebookColor) +{ + QIcon icon; + QString iconPath = "../NoteBinder/Icons"; + if(!QDir(iconPath).exists()) + { + return icon; + } + if(notebookColor == "Red") { + icon = QIcon(iconPath + "/NotebookIcon_Red.png"); + } else if(notebookColor == "Blue") { + icon = QIcon(iconPath + "/NotebookIcon_Blue.png"); + } else if(notebookColor == "Purple") { + icon = QIcon(iconPath + "/NotebookIcon_Purple.png"); + } else if(notebookColor == "Orange") { + icon = QIcon(iconPath + "/NotebookIcon_Orange.png"); + } else if(notebookColor == "Yellow") { + icon = QIcon(iconPath + "/NotebookIcon_Yellow.png"); + } else if(notebookColor == "Green") { + icon = QIcon(iconPath + "/NotebookIcon_Green.png"); + } else if(notebookColor == "Cyan") { + icon = QIcon(iconPath + "/NotebookIcon_Cyan.png"); + } else if(notebookColor == "Tan") { + icon = QIcon(iconPath + "/NotebookIcon_Tan.png"); + } else if(notebookColor == "Teal") { + icon = QIcon(iconPath + "/NotebookIcon_Teal.png"); + } else if(notebookColor == "Red Chalk") { + icon = QIcon(iconPath + "/NotebookIcon_RedChalk.png"); + } else if(notebookColor == "Blue Mist") { + icon = QIcon(iconPath + "/NotebookIcon_BlueMist.png"); + } else if(notebookColor == "Purple Mist") { + icon = QIcon(iconPath + "/NotebookIcon_PurpleMist.png"); + } else if(notebookColor == "Magenta") { + icon = QIcon(iconPath + "/NotebookIcon_Magenta.png"); + } else if(notebookColor == "Lemon Lime") { + icon = QIcon(iconPath + "/NotebookIcon_LemonLime.png"); + } else if(notebookColor == "Apple") { + icon = QIcon(iconPath + "/NotebookIcon_Apple.png"); + } else if(notebookColor == "Silver") { + icon = QIcon(iconPath + "/NotebookIcon_Silver.png"); + } else if(notebookColor == "Black") { + icon = QIcon(iconPath + "/NotebookIcon_Black.png"); + } else { + // If it's either White/None or an invalid value, set to the white icon + icon = QIcon(iconPath + "/NotebookIcon_White.png"); + } + return icon; +} +QIcon importSection::SetSectionGroupIcon(QString sectionGroupColor) +{ + QIcon icon; + QString iconPath = "../NoteBinder/Icons"; + if(!QDir(iconPath).exists()) + { + return icon; + } + if(sectionGroupColor == "Red") { + icon = QIcon(iconPath + "/SectionGroupIcon_Red.png"); + } else if(sectionGroupColor == "Blue") { + icon = QIcon(iconPath + "/SectionGroupIcon_Blue.png"); + } else if(sectionGroupColor == "Purple") { + icon = QIcon(iconPath + "/SectionGroupIcon_Purple.png"); + } else if(sectionGroupColor == "Orange") { + icon = QIcon(iconPath + "/SectionGroupIcon_Orange.png"); + } else if(sectionGroupColor == "Yellow") { + icon = QIcon(iconPath + "/SectionGroupIcon_Yellow.png"); + } else if(sectionGroupColor == "Green") { + icon = QIcon(iconPath + "/SectionGroupIcon_Green.png"); + } else if(sectionGroupColor == "Cyan") { + icon = QIcon(iconPath + "/SectionGroupIcon_Cyan.png"); + } else if(sectionGroupColor == "Tan") { + icon = QIcon(iconPath + "/SectionGroupIcon_Tan.png"); + } else if(sectionGroupColor == "Teal") { + icon = QIcon(iconPath + "/SectionGroupIcon_Teal.png"); + } else if(sectionGroupColor == "Red Chalk") { + icon = QIcon(iconPath + "/SectionGroupIcon_RedChalk.png"); + } else if(sectionGroupColor == "Blue Mist") { + icon = QIcon(iconPath + "/SectionGroupIcon_BlueMist.png"); + } else if(sectionGroupColor == "Purple Mist") { + icon = QIcon(iconPath + "/SectionGroupIcon_PurpleMist.png"); + } else if(sectionGroupColor == "Magenta") { + icon = QIcon(iconPath + "/SectionGroupIcon_Magenta.png"); + } else if(sectionGroupColor == "Lemon Lime") { + icon = QIcon(iconPath + "/SectionGroupIcon_LemonLime.png"); + } else if(sectionGroupColor == "Apple") { + icon = QIcon(iconPath + "/SectionGroupIcon_Apple.png"); + } else if(sectionGroupColor == "Silver") { + icon = QIcon(iconPath + "/SectionGroupIcon_Silver.png"); + } else if(sectionGroupColor == "Black") { + icon = QIcon(iconPath + "/SectionGroupIcon_Black.png"); + } else { + // If it's either White/None or an invalid value, set to the white icon + icon = QIcon(iconPath + "/SectionGroupIcon_White.png"); + } + return icon; +} + +QStringList importSection::getDirectoryList() +{ + return var_directoryList; +} +QStringList importSection::getNotebookColorList() +{ + return nbColorList; +} +QStringList importSection::getNotebookDirList() +{ + return nbDirList; +} +QString importSection::getNewFile() +{ + return newFile; +} + +void importSection::setDirectoryList(QStringList dirList) +{ + var_directoryList = dirList; +} +void importSection::setNotebookColorList(QStringList newNbColorList) +{ + nbColorList = newNbColorList; +} +void importSection::setNotebookDirList(QStringList newNbDirList) +{ + nbDirList = newNbDirList; +} +void importSection::setNewFile(QString newNewFile) +{ + newFile = newNewFile; +} diff --git a/importSection.h b/importSection.h new file mode 100644 index 0000000..82e7e69 --- /dev/null +++ b/importSection.h @@ -0,0 +1,50 @@ +#ifndef IMPORTSECTION_H +#define IMPORTSECTION_H + +#include +#include +#include + +namespace Ui { +class importSection; +} + +class importSection : public QDialog +{ + Q_OBJECT + +public: + explicit importSection(QStringList notebookColorList, QStringList notebookDirList, QStringList list, QWidget *parent = nullptr); + ~importSection(); + + void init(); + + QStringList getDirectoryList(); + QStringList getNotebookColorList(); + QStringList getNotebookDirList(); + QString getNewFile(); + + void setDirectoryList(QStringList dirList); + void setNotebookColorList(QStringList newNbColorList); + void setNotebookDirList(QStringList newNbDirList); + void setNewFile(QString newNewFile); + + QIcon SetNotebookIcon(QString notebookColor); + QIcon SetSectionGroupIcon(QString sectionGroupColor); + +private slots: + void on_buttonBox_accepted(); + + void on_buttonBox_rejected(); + + void on_selectDirectoryButton_clicked(); + +private: + QStringList var_directoryList; + QStringList nbColorList; + QStringList nbDirList; + QString newFile; + Ui::importSection *ui; +}; + +#endif // IMPORTSECTION_H diff --git a/importSection.ui b/importSection.ui new file mode 100644 index 0000000..b6ad3e6 --- /dev/null +++ b/importSection.ui @@ -0,0 +1,156 @@ + + + importSection + + + + 0 + 0 + 506 + 239 + + + + Import Section + + + + + + + 12 + + + + Select Notebook or Section Group: + + + + + + + + 12 + + + + + 24 + 24 + + + + + + + + + 12 + + + + Import Section/File: + + + + + + + + + + 12 + + + + + + + + + 10 + + + + Select Directory + + + + + + + + + + + + + Move Item + + + false + + + + + + + Copy Item + + + true + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + + + buttonBox + accepted() + importSection + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + importSection + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/itemProperties.cpp b/itemProperties.cpp new file mode 100644 index 0000000..0fc9b2e --- /dev/null +++ b/itemProperties.cpp @@ -0,0 +1,501 @@ +#include "itemProperties.h" +#include "ui_itemProperties.h" + +itemProperties::itemProperties(NotebookList* nbList, QString notebookItemLocation, QWidget *parent) : + QDialog(parent), + ui(new Ui::itemProperties) +{ + ui->setupUi(this); + setNotebookList(nbList); + setNotebookItemLocation(notebookItemLocation); + init(); +} + +itemProperties::~itemProperties() +{ + delete ui; +} + +void itemProperties::init() +{ + int nb_idx = 0; + int file_idx = 0; + int sg_idx = 0; + for(nb_idx = 0; nb_idx < notebookList->nbList.size(); nb_idx++) + { + if(notebookList->nbList.at(nb_idx)->location == notebookItemLocation) + { + ui->itemNameLabel->setText("Notebook Name: "); + ui->itemLocationLabel->setText("Notebook Location: "); + ui->itemColorLabel->setText("Notebook Color: "); + ui->itemNameBox->setText(notebookList->nbList.at(nb_idx)->name); + ui->itemLocationBox->setText(notebookList->nbList.at(nb_idx)->location); + ui->itemColorComboBox->setVisible(true); + setIconsToItemColorComboBox_Notebook(); + int item_idx = ui->itemColorComboBox->findText(notebookList->nbList.at(nb_idx)->color); + if(item_idx != -1) { ui->itemColorComboBox->setCurrentIndex(item_idx); } + + } else { + for(file_idx = 0; file_idx < notebookList->nbList.at(nb_idx)->files.size(); file_idx++) + { + QFileInfo fileInfo(notebookList->nbList.at(nb_idx)->files.at(file_idx)); + if(fileInfo.isFile()) + { + // Section + if(notebookList->nbList.at(nb_idx)->files.at(file_idx) == notebookItemLocation) + { + ui->itemNameLabel->setText("Section Name: "); + ui->itemLocationLabel->setText("Section Location: "); + ui->itemColorLabel->setText(""); + ui->itemNameBox->setText(fileInfo.fileName()); + ui->itemLocationBox->setText(notebookList->nbList.at(nb_idx)->files.at(file_idx)); + ui->itemColorComboBox->setVisible(false); + } + } else { + // Section Group + if(notebookList->nbList.at(nb_idx)->files.at(file_idx) == notebookItemLocation) + { + ui->itemNameLabel->setText("Section Group Name: "); + ui->itemLocationLabel->setText("Section Group Location: "); + ui->itemColorLabel->setText("Section Group Color: "); + ui->itemNameBox->setText(notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->name); + ui->itemLocationBox->setText(notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->location); + ui->itemColorComboBox->setEnabled(true); + setIconsToItemColorComboBox_SectionGroup(); + int item_idx = ui->itemColorComboBox->findText(notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->color); + if(item_idx != -1) { ui->itemColorComboBox->setCurrentIndex(item_idx); } + } else { + init_searchDirectoryRecursive(notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)); + } + sg_idx++; + } + } + } + sg_idx = 0; + file_idx = 0; + } +} + +void itemProperties::on_buttonBox_accepted() +{ + int nb_idx = 0; + int file_idx = 0; + int file2_idx = 0; + int sg_idx = 0; + int sg2_idx = 0; + for(nb_idx = 0; nb_idx < notebookList->nbList.size(); nb_idx++) + { + if(notebookList->nbList.at(nb_idx)->location == notebookItemLocation) + { + QFileInfo notebookFileInfo(notebookList->nbList.at(nb_idx)->location); + // Rename Directory + QDir dir(notebookList->nbList.at(nb_idx)->location); + if(!QDir(notebookFileInfo.path() + QDir::separator() + ui->itemNameBox->text()).exists()) + { + notebookList->nbList.at(nb_idx)->name = ui->itemNameBox->text(); + dir.rename(notebookList->nbList.at(nb_idx)->location, notebookFileInfo.path() + QDir::separator() + ui->itemNameBox->text()); + notebookList->nbList.at(nb_idx)->location = notebookFileInfo.path() + QDir::separator() + ui->itemNameBox->text(); + notebookList->nbList.at(nb_idx)->color = ui->itemColorComboBox->currentText(); + for(file2_idx = 0; file2_idx < notebookList->nbList.at(nb_idx)->files.size(); file2_idx++) + { + QFileInfo oldFileInfo(notebookList->nbList.at(nb_idx)->files.at(file2_idx)); + notebookList->nbList.at(nb_idx)->files.replace(file2_idx, notebookList->nbList.at(nb_idx)->location + QDir::separator() + oldFileInfo.fileName()); + QFileInfo fileInfo(notebookList->nbList.at(nb_idx)->files.at(file2_idx)); + if(!fileInfo.isFile()) + { + // Section Group + notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg2_idx)->location = notebookList->nbList.at(nb_idx)->location + QDir::separator() + + oldFileInfo.fileName(); + notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg2_idx)->parentDir = notebookList->nbList.at(nb_idx)->name; + accept_notebookSearchDirectoryRecursive(notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg2_idx), notebookFileInfo); + sg2_idx++; + } + } + QFile notebookFile(notebookList->nbList.at(nb_idx)->location + QDir::separator() + "notebook.noteb"); + notebookFile.remove(); + if (notebookFile.open(QIODevice::ReadWrite)) { + QTextStream in(¬ebookFile); + in << notebookList->nbList.at(nb_idx)->name << "\n" << notebookList->nbList.at(nb_idx)->color << "\n"; + } + notebookFile.close(); + break; + } + } else { + for(file_idx = 0; file_idx < notebookList->nbList.at(nb_idx)->files.size(); file_idx++) + { + QFileInfo notebookFileInfo(notebookList->nbList.at(nb_idx)->location); + QFileInfo fileInfo(notebookList->nbList.at(nb_idx)->files.at(file_idx)); + if(fileInfo.isFile()) + { + // Section + if(notebookList->nbList.at(nb_idx)->files.at(file_idx) == notebookItemLocation) + { + if(!QFile(notebookList->nbList.at(nb_idx)->location + QDir::separator() + ui->itemNameBox->text()).exists()) + { + QFile file(notebookList->nbList.at(nb_idx)->files.at(file_idx)); + file.rename(notebookList->nbList.at(nb_idx)->files.at(file_idx), notebookList->nbList.at(nb_idx)->location + + QDir::separator() + ui->itemNameBox->text()); + notebookList->nbList.at(nb_idx)->files.replace(file_idx, notebookList->nbList.at(nb_idx)->location + QDir::separator() + + ui->itemNameBox->text()); + break; + } + } + } else { + // Section Group + if(notebookList->nbList.at(nb_idx)->files.at(file_idx) == notebookItemLocation) + { + if(!QDir(notebookList->nbList.at(nb_idx)->location + QDir::separator() + ui->itemNameBox->text()).exists()) + { + notebookList->nbList.at(nb_idx)->files.replace(file_idx, notebookList->nbList.at(nb_idx)->location + QDir::separator() + ui->itemNameBox->text()); + notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->name = ui->itemNameBox->text(); + notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->color = ui->itemColorComboBox->currentText(); + // Rename Directory + QDir dir(notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->location); + dir.rename(notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->location, notebookList->nbList.at(nb_idx)->location + + QDir::separator() + ui->itemNameBox->text()); + notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->location = notebookList->nbList.at(nb_idx)->location + QDir::separator() + + ui->itemNameBox->text(); + int file2_idx = 0; + for(file2_idx = 0; file2_idx < notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->files.size(); file2_idx++) + { + QFileInfo fileInfo(notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->files.at(file2_idx)); + QFile file(notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->files.at(file2_idx)); + file.rename(notebookList->nbList.at(nb_idx)->files.at(file_idx), notebookList->nbList.at(nb_idx)->location + + QDir::separator() + ui->itemNameBox->text()); + notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->files.replace(file2_idx, notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->location + + QDir::separator() + fileInfo.fileName()); + } + // Section Group File: + QFile sectionGroupFile(notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->location + QDir::separator() + "sectiongroup.sectgr"); + sectionGroupFile.remove(); + if (sectionGroupFile.open(QIODevice::ReadWrite)) { + QTextStream in(§ionGroupFile); + in << notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->name << "\n" << notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->color << "\n"; + } + sectionGroupFile.close(); + accept_notebookSearchDirectoryRecursive(notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx), notebookFileInfo); + break; + } else { + notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->name = ui->itemNameBox->text(); + notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->color = ui->itemColorComboBox->currentText(); + QFile sectionGroupFile(notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->location + QDir::separator() + "sectiongroup.sectgr"); + sectionGroupFile.remove(); + if (sectionGroupFile.open(QIODevice::ReadWrite)) { + QTextStream in(§ionGroupFile); + in << notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->name << "\n" << notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx)->color << "\n"; + } + sectionGroupFile.close(); + } + } else { + accept_sectionGroupSearchDirectoryRecursive(notebookList->nbList.at(nb_idx)->sectionGroupArray.at(sg_idx), notebookFileInfo); + } + sg_idx++; + } + } + } + sg_idx = 0; + } + setNotebookList(notebookList); + accept(); +} + +void itemProperties::on_buttonBox_rejected() +{ + reject(); +} + +NotebookList* itemProperties::getNotebookList() +{ + return notebookList; +} +void itemProperties::setNotebookList(NotebookList* newNotebookList) +{ + notebookList = newNotebookList; +} +QString itemProperties::getNotebookItemLocation() +{ + return notebookItemLocation; +} +void itemProperties::setNotebookItemLocation(QString newNotebookItemLocation) +{ + notebookItemLocation = newNotebookItemLocation; +} + +void itemProperties::setIconsToItemColorComboBox_Notebook() +{ + ui->itemColorComboBox->addItem(SetNotebookIcon("None"), "None"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Red"), "Red"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Blue"), "Blue"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Purple"), "Purple"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Orange"), "Orange"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Yellow"), "Yellow"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Green"), "Green"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Cyan"), "Cyan"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Tan"), "Tan"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Teal"), "Teal"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Magenta"), "Magenta"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Red Chalk"), "Red Chalk"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Blue Mist"), "Blue Mist"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Purple Mist"), "Purple Mist"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Lemon Lime"), "Lemon Lime"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Apple"), "Apple"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Silver"), "Silver"); + ui->itemColorComboBox->addItem(SetNotebookIcon("Black"), "Black"); +} + +void itemProperties::setIconsToItemColorComboBox_SectionGroup() +{ + ui->itemColorComboBox->addItem(SetSectionGroupIcon("None"), "None"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Red"), "Red"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Blue"), "Blue"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Purple"), "Purple"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Orange"), "Orange"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Yellow"), "Yellow"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Green"), "Green"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Cyan"), "Cyan"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Tan"), "Tan"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Teal"), "Teal"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Magenta"), "Magenta"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Red Chalk"), "Red Chalk"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Blue Mist"), "Blue Mist"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Purple Mist"), "Purple Mist"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Lemon Lime"), "Lemon Lime"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Apple"), "Apple"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Silver"), "Silver"); + ui->itemColorComboBox->addItem(SetSectionGroupIcon("Black"), "Black"); +} + +QIcon itemProperties::SetNotebookIcon(QString notebookColor) +{ + QIcon icon; + QString iconPath = "../NoteBinder/Icons"; + if(!QDir(iconPath).exists()) + { + return icon; + } + if(notebookColor == "Red") { + icon = QIcon(iconPath + "/NotebookIcon_Red.png"); + } else if(notebookColor == "Blue") { + icon = QIcon(iconPath + "/NotebookIcon_Blue.png"); + } else if(notebookColor == "Purple") { + icon = QIcon(iconPath + "/NotebookIcon_Purple.png"); + } else if(notebookColor == "Orange") { + icon = QIcon(iconPath + "/NotebookIcon_Orange.png"); + } else if(notebookColor == "Yellow") { + icon = QIcon(iconPath + "/NotebookIcon_Yellow.png"); + } else if(notebookColor == "Green") { + icon = QIcon(iconPath + "/NotebookIcon_Green.png"); + } else if(notebookColor == "Cyan") { + icon = QIcon(iconPath + "/NotebookIcon_Cyan.png"); + } else if(notebookColor == "Tan") { + icon = QIcon(iconPath + "/NotebookIcon_Tan.png"); + } else if(notebookColor == "Teal") { + icon = QIcon(iconPath + "/NotebookIcon_Teal.png"); + } else if(notebookColor == "Red Chalk") { + icon = QIcon(iconPath + "/NotebookIcon_RedChalk.png"); + } else if(notebookColor == "Blue Mist") { + icon = QIcon(iconPath + "/NotebookIcon_BlueMist.png"); + } else if(notebookColor == "Purple Mist") { + icon = QIcon(iconPath + "/NotebookIcon_PurpleMist.png"); + } else if(notebookColor == "Magenta") { + icon = QIcon(iconPath + "/NotebookIcon_Magenta.png"); + } else if(notebookColor == "Lemon Lime") { + icon = QIcon(iconPath + "/NotebookIcon_LemonLime.png"); + } else if(notebookColor == "Apple") { + icon = QIcon(iconPath + "/NotebookIcon_Apple.png"); + } else if(notebookColor == "Silver") { + icon = QIcon(iconPath + "/NotebookIcon_Silver.png"); + } else if(notebookColor == "Black") { + icon = QIcon(iconPath + "/NotebookIcon_Black.png"); + } else { + // If it's either White/None or an invalid value, set to the white icon + icon = QIcon(iconPath + "/NotebookIcon_White.png"); + } + return icon; +} + +QIcon itemProperties::SetSectionGroupIcon(QString sectionGroupColor) +{ + QIcon icon; + QString iconPath = "../NoteBinder/Icons"; + if(!QDir(iconPath).exists()) + { + return icon; + } + if(sectionGroupColor == "Red") { + icon = QIcon(iconPath + "/SectionGroupIcon_Red.png"); + } else if(sectionGroupColor == "Blue") { + icon = QIcon(iconPath + "/SectionGroupIcon_Blue.png"); + } else if(sectionGroupColor == "Purple") { + icon = QIcon(iconPath + "/SectionGroupIcon_Purple.png"); + } else if(sectionGroupColor == "Orange") { + icon = QIcon(iconPath + "/SectionGroupIcon_Orange.png"); + } else if(sectionGroupColor == "Yellow") { + icon = QIcon(iconPath + "/SectionGroupIcon_Yellow.png"); + } else if(sectionGroupColor == "Green") { + icon = QIcon(iconPath + "/SectionGroupIcon_Green.png"); + } else if(sectionGroupColor == "Cyan") { + icon = QIcon(iconPath + "/SectionGroupIcon_Cyan.png"); + } else if(sectionGroupColor == "Tan") { + icon = QIcon(iconPath + "/SectionGroupIcon_Tan.png"); + } else if(sectionGroupColor == "Teal") { + icon = QIcon(iconPath + "/SectionGroupIcon_Teal.png"); + } else if(sectionGroupColor == "Red Chalk") { + icon = QIcon(iconPath + "/SectionGroupIcon_RedChalk.png"); + } else if(sectionGroupColor == "Blue Mist") { + icon = QIcon(iconPath + "/SectionGroupIcon_BlueMist.png"); + } else if(sectionGroupColor == "Purple Mist") { + icon = QIcon(iconPath + "/SectionGroupIcon_PurpleMist.png"); + } else if(sectionGroupColor == "Magenta") { + icon = QIcon(iconPath + "/SectionGroupIcon_Magenta.png"); + } else if(sectionGroupColor == "Lemon Lime") { + icon = QIcon(iconPath + "/SectionGroupIcon_LemonLime.png"); + } else if(sectionGroupColor == "Apple") { + icon = QIcon(iconPath + "/SectionGroupIcon_Apple.png"); + } else if(sectionGroupColor == "Silver") { + icon = QIcon(iconPath + "/SectionGroupIcon_Silver.png"); + } else if(sectionGroupColor == "Black") { + icon = QIcon(iconPath + "/SectionGroupIcon_Black.png"); + } else { + // If it's either White/None or an invalid value, set to the white icon + icon = QIcon(iconPath + "/SectionGroupIcon_White.png"); + } + return icon; +} + +/* Recursive Functions */ +void itemProperties::init_searchDirectoryRecursive(SectionGroup* sectionGroup) +{ + int sg_idx = 0; + int file_idx = 0; + for(file_idx = 0; file_idx < sectionGroup->files.size(); file_idx++) + { + QFileInfo fileInfo(sectionGroup->files.at(file_idx)); + if(fileInfo.isFile()) + { + // Section + if(sectionGroup->files.at(file_idx) == notebookItemLocation) + { + ui->itemNameLabel->setText("Section Name: "); + ui->itemLocationLabel->setText("Section Location: "); + ui->itemColorLabel->setText(""); + ui->itemNameBox->setText(fileInfo.fileName()); + ui->itemLocationBox->setText(sectionGroup->files.at(file_idx)); + ui->itemColorComboBox->setVisible(false); + } + } else { + // Section Group + if(sectionGroup->files.at(file_idx) == notebookItemLocation) + { + ui->itemNameLabel->setText("Section Group Name: "); + ui->itemLocationLabel->setText("Section Group Location: "); + ui->itemColorLabel->setText("Section Group Color: "); + ui->itemNameBox->setText(sectionGroup->sectionGroupArray.at(sg_idx)->name); + ui->itemLocationBox->setText(sectionGroup->sectionGroupArray.at(sg_idx)->location); + ui->itemColorComboBox->setVisible(true); + setIconsToItemColorComboBox_SectionGroup(); + int item_idx = ui->itemColorComboBox->findText(sectionGroup->sectionGroupArray.at(sg_idx)->color); + if(item_idx != -1) { ui->itemColorComboBox->setCurrentIndex(item_idx); } + } else { + init_searchDirectoryRecursive(sectionGroup->sectionGroupArray.at(sg_idx)); + } + sg_idx++; + } + } +} + +void itemProperties::accept_notebookSearchDirectoryRecursive(SectionGroup* sectionGroup, QFileInfo notebookFileInfo) +{ + int sg_idx = 0; + int file_idx = 0; + for(file_idx = 0; file_idx < sectionGroup->files.size(); file_idx++) + { + QFileInfo oldFileInfo(sectionGroup->files.at(file_idx)); + sectionGroup->files.replace(file_idx, sectionGroup->location + QDir::separator() + oldFileInfo.fileName()); + QFileInfo fileInfo(sectionGroup->files.at(file_idx)); + if(fileInfo.isDir()) + { + // Section Group + sectionGroup->sectionGroupArray.at(sg_idx)->location = sectionGroup->location + QDir::separator() + fileInfo.fileName(); + sectionGroup->sectionGroupArray.at(sg_idx)->parentDir = sectionGroup->name; + accept_notebookSearchDirectoryRecursive(sectionGroup->sectionGroupArray.at(sg_idx), notebookFileInfo); + sg_idx++; + } + } +} + +void itemProperties::accept_sectionGroupSearchDirectoryRecursive(SectionGroup* sectionGroup, QFileInfo notebookFileInfo) +{ + int sg_idx = 0; + int file_idx = 0; + for(file_idx = 0; file_idx < sectionGroup->files.size(); file_idx++) + { + QFileInfo notebookFileInfo(sectionGroup->location); + QFileInfo fileInfo(sectionGroup->files.at(file_idx)); + if(fileInfo.isFile()) + { + // Section + if(sectionGroup->files.at(file_idx) == notebookItemLocation) + { + if(!QFile(sectionGroup->location + QDir::separator() + ui->itemNameBox->text()).exists()) + { + QFile file(sectionGroup->files.at(file_idx)); + file.rename(sectionGroup->files.at(file_idx), sectionGroup->location + + QDir::separator() + ui->itemNameBox->text()); + sectionGroup->files.replace(file_idx, sectionGroup->location + QDir::separator() + + ui->itemNameBox->text()); + break; + } + } + } else { + // Section Group + if(sectionGroup->files.at(file_idx) == notebookItemLocation) + { + if(!QDir(sectionGroup->location + QDir::separator() + ui->itemNameBox->text()).exists()) + { + sectionGroup->files.replace(file_idx, sectionGroup->location + QDir::separator() + ui->itemNameBox->text()); + sectionGroup->sectionGroupArray.at(sg_idx)->name = ui->itemNameBox->text(); + sectionGroup->sectionGroupArray.at(sg_idx)->color = ui->itemColorComboBox->currentText(); + // Rename Directory + QDir dir(sectionGroup->sectionGroupArray.at(sg_idx)->location); + dir.rename(sectionGroup->sectionGroupArray.at(sg_idx)->location, sectionGroup->location + + QDir::separator() + ui->itemNameBox->text()); + sectionGroup->sectionGroupArray.at(sg_idx)->location = sectionGroup->location + QDir::separator() + + ui->itemNameBox->text(); + int file2_idx = 0; + for(file2_idx = 0; file2_idx < sectionGroup->sectionGroupArray.at(sg_idx)->files.size(); file2_idx++) + { + QFileInfo fileInfo(sectionGroup->sectionGroupArray.at(sg_idx)->files.at(file2_idx)); + QFile file(sectionGroup->sectionGroupArray.at(sg_idx)->files.at(file2_idx)); + file.rename(sectionGroup->files.at(file_idx), sectionGroup->location + + QDir::separator() + ui->itemNameBox->text()); + sectionGroup->sectionGroupArray.at(sg_idx)->files.replace(file2_idx, sectionGroup->sectionGroupArray.at(sg_idx)->location + + QDir::separator() + fileInfo.fileName()); + } + QFile sectionGroupFile(sectionGroup->sectionGroupArray.at(sg_idx)->location + QDir::separator() + "sectiongroup.sectgr"); + sectionGroupFile.remove(); + if (sectionGroupFile.open(QIODevice::ReadWrite)) { + QTextStream in(§ionGroupFile); + in << sectionGroup->sectionGroupArray.at(sg_idx)->name << "\n" << sectionGroup->sectionGroupArray.at(sg_idx)->color << "\n"; + } + sectionGroupFile.close(); + accept_notebookSearchDirectoryRecursive(sectionGroup->sectionGroupArray.at(sg_idx), notebookFileInfo); + break; + } else { + sectionGroup->sectionGroupArray.at(sg_idx)->name = ui->itemNameBox->text(); + sectionGroup->sectionGroupArray.at(sg_idx)->color = ui->itemColorComboBox->currentText(); + QFile sectionGroupFile(sectionGroup->sectionGroupArray.at(sg_idx)->location + QDir::separator() + "sectiongroup.sectgr"); + sectionGroupFile.remove(); + if (sectionGroupFile.open(QIODevice::ReadWrite)) { + QTextStream in(§ionGroupFile); + in << sectionGroup->sectionGroupArray.at(sg_idx)->name << "\n" << sectionGroup->sectionGroupArray.at(sg_idx)->color << "\n"; + } + sectionGroupFile.close(); + } + } else { + accept_sectionGroupSearchDirectoryRecursive(sectionGroup->sectionGroupArray.at(sg_idx), notebookFileInfo); + } + sg_idx++; + } + } +} diff --git a/itemProperties.h b/itemProperties.h new file mode 100644 index 0000000..d8fe43e --- /dev/null +++ b/itemProperties.h @@ -0,0 +1,45 @@ +#ifndef ITEMPROPERTIES_H +#define ITEMPROPERTIES_H + +#include +#include "notebook.h" +#include "notebooklist.h" +#include "notebookmanager.h" + +namespace Ui { +class itemProperties; +} + +class itemProperties : public QDialog +{ + Q_OBJECT + +public: + itemProperties(NotebookList* nbList, QString notebookItemLocation, QWidget *parent = nullptr); + ~itemProperties(); + + void init(); + void setIconsToItemColorComboBox_Notebook(); + void setIconsToItemColorComboBox_SectionGroup(); + QIcon SetNotebookIcon(QString notebookColor); + QIcon SetSectionGroupIcon(QString sectionGroupColor); + void init_searchDirectoryRecursive(SectionGroup* sectionGroup); + void accept_notebookSearchDirectoryRecursive(SectionGroup* sectionGroup, QFileInfo notebookFileInfo); + void accept_sectionGroupSearchDirectoryRecursive(SectionGroup* sectionGroup, QFileInfo notebookFileInfo); + + NotebookList* getNotebookList(); + QString getNotebookItemLocation(); + void setNotebookList(NotebookList* newNotebookList); + void setNotebookItemLocation(QString newNotebookItemLocation); + +private slots: + void on_buttonBox_accepted(); + void on_buttonBox_rejected(); + +private: + Ui::itemProperties *ui; + NotebookList* notebookList; + QString notebookItemLocation; +}; + +#endif // ITEMPROPERTIES_H