mainwindow.cpp 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. #include "mainwindow.h"
  2. #include "hakkinda.h"
  3. #include "ui_mainwindow.h"
  4. #include "QFile"
  5. #include <QMessageBox>
  6. #include <QFileDialog>
  7. #include <QSysInfo>
  8. #include <QIcon>
  9. #include <QListWidgetItem>
  10. #include <QIODevice>
  11. #include <QTextStream>
  12. #include <QImage>
  13. MainWindow::MainWindow(QWidget *parent) :
  14. QMainWindow(parent),
  15. ui(new Ui::MainWindow)
  16. {
  17. ui->setupUi(this);
  18. QDir yolum("/usr/share/plymouth/themes/");
  19. yolum.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
  20. QIcon simge("/usr/share/aylinux-plymouth/aylinux.png");
  21. temalar = yolum.entryList();
  22. QListWidgetItem *deneme=new QListWidgetItem();
  23. deneme->setIcon(QIcon("/usr/share/aylinux-plymouth/resimler/aylinux.png"));
  24. ui->listWidget->addItems(temalar);
  25. // Add an item to list widget.
  26. // QListWidgetItem *item = new QListWidgetItem();
  27. // item->setSizeHint(QSize(50, 50));
  28. // ui->listWidget->addItem(item);
  29. // ui->listWidget->addItems(deneme,temalar);
  30. ui->isletimsistemi->setText("İşletim Sisteminiz: "+ QSysInfo::productType());
  31. }
  32. MainWindow::~MainWindow()
  33. {
  34. delete ui;
  35. }
  36. void MainWindow::on_listelebuton_clicked()
  37. {
  38. QDir yolum("/usr/share/plymouth/themes/");
  39. yolum.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
  40. temalar = yolum.entryList();
  41. ui->listWidget->clear();
  42. ui->listWidget->addItems(temalar);
  43. ui->label_5->setPixmap(QPixmap("/usr/share/aylinux-plymouth/resimler/bilgi.png"));
  44. QMessageBox::information(this, "Aylinux Plymouth","Tema listesi güncellendi.");
  45. }
  46. void MainWindow::on_commandLinkButton_clicked()
  47. {
  48. if (ui->listWidget->currentItem())
  49. {
  50. /* Tema kurulumu */
  51. QString tema = ui->listWidget->currentItem()->text();
  52. ui->progressBar->setValue(20);
  53. // ui->label_5->setPixmap(QPixmap("/usr/share/plymouth/themes/" + tema + "/" + tema + ".png") );
  54. ui->progressBar->setValue(30);
  55. QString girisyoneticisi = ui->comboBox_2->currentText();
  56. ui->progressBar->setValue(40);
  57. QProcess::execute("sudo systemctl enable " + girisyoneticisi + "-plymouth.service ");
  58. ui->progressBar->setValue(50);
  59. QProcess::execute("sudo plymouth-set-default-theme -R " + tema);
  60. ui->progressBar->setValue(100);
  61. QMessageBox::information(this, "Aylinux Plymouth", tema + " teması Başarıyla Kuruldu.");
  62. ui->progressBar->setValue(0);
  63. }
  64. else
  65. {
  66. QMessageBox::information(this, "Aylinux Plymouth"," Lütfen kurmak için bir tema seçiniz");
  67. }
  68. }
  69. void MainWindow::on_commandLinkButton_2_clicked()
  70. {
  71. Hakkinda hakkinda;
  72. hakkinda.setModal(true);
  73. hakkinda.show();
  74. hakkinda.exec();
  75. }
  76. void MainWindow::on_commandLinkButton_3_clicked()
  77. {
  78. if (ui->listWidget->currentItem())
  79. {
  80. QProcess::execute("mv -f /etc/plymouth/plymouthd.conf /etc/plymouth/plymouthd.yedek");
  81. QFile confyaz("/etc/plymouth/plymouthd.conf");
  82. QString tema = ui->listWidget->currentItem()->text();
  83. std::string str = tema.toStdString();
  84. const char* secilitema = str.c_str();
  85. // QTextStream text_stream(&confyaz);
  86. if (confyaz.open(QIODevice::WriteOnly)) {
  87. confyaz.write("#Aylinux Plymount Tema Ayarlama Uygulaması tarafından otomatik oluşturulmuştur.\n");
  88. confyaz.write("[Daemon]\n");
  89. confyaz.write("Theme=");
  90. confyaz.write (secilitema);
  91. confyaz.write ("\nShowDelay=5");
  92. confyaz.close();
  93. }
  94. QProcess::execute("sudo plymouthd");
  95. QMessageBox::information(this, "Aylinux Plymouth"," Ctrl+Alt+F7 ile geri dönebilirsiniz.");
  96. QProcess::execute("sudo plymouth --show-splash");
  97. QMessageBox::information(this, "Aylinux Plymouth", " Tema testi sona erdi.");
  98. QProcess::execute("sudo plymouth --quit");
  99. QProcess::execute("sudo mv -f /etc/plymouth/plymouthd.yedek /etc/plymouth/plymouthd.conf");
  100. }
  101. else
  102. {
  103. QMessageBox::information(this, "Aylinux Plymouth"," Lütfen test etmek için bir tema seçiniz");
  104. }
  105. }
  106. void MainWindow::on_listWidget_itemSelectionChanged()
  107. {
  108. QFile resimyokmu("/usr/share/plymouth/themes/" + ui->listWidget->currentItem()->text() + "/" + ui->listWidget->currentItem()->text() + ".png");
  109. if(!resimyokmu.exists())
  110. {
  111. ui->label_5->setPixmap(QPixmap("/usr/share/aylinux-plymouth/resimler/resimyok.png"));
  112. }
  113. else
  114. {
  115. ui->label_5->setPixmap("/usr/share/plymouth/themes/" + ui->listWidget->currentItem()->text() + "/" + ui->listWidget->currentItem()->text() + ".png");
  116. }
  117. }