anapencere.cpp 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710
  1. #include "anapencere.h"
  2. #include "ui_anapencere.h"
  3. #include <QtDebug>
  4. #include <QProcess>
  5. #include <QMessageBox>
  6. #include <string>
  7. #include <QDateTime>
  8. #include <QFileDialog>
  9. #include <QFileSystemModel>
  10. #include <QModelIndex>
  11. #include <QSysInfo>
  12. #include <QRegExp>
  13. #include <QTextStream>
  14. #include <QDebug>
  15. #include <QLabel>
  16. #include <QByteArray>
  17. #include <QListWidgetItem>
  18. #include <QList>
  19. #include <QTextEdit>
  20. #include <QFile>
  21. #include <QCoreApplication>
  22. #include <QTextStream>
  23. void AnaPencere::addSignalsSlots(){
  24. connect(terminal, SIGNAL(readyReadStandardOutput()), this, SLOT( processOutput() ) );
  25. connect(terminal, SIGNAL(readyReadStandardError() ), this, SLOT( processOutput() ) );
  26. }
  27. int sayac=0;
  28. void AnaPencere::processOutput(){
  29. terminalOutput = terminal->readAllStandardOutput();
  30. terminalOutputErr = terminal->readAllStandardError();
  31. // To Show info about installing
  32. QString preparedText = terminalOutput.left(70);
  33. preparedText.replace("\n","");
  34. ui->ciktimetni->setText(preparedText);
  35. //qDebug() << terminalOutput;
  36. //qDebug() << terminalOutputErr;
  37. const QString terminalOutputConst = terminalOutput;
  38. }
  39. AnaPencere::AnaPencere(QWidget *parent) :
  40. QMainWindow(parent),
  41. ui(new Ui::AnaPencere)
  42. {
  43. ui->setupUi(this);
  44. ui->label_5->setPixmap(QPixmap("/root/arayuz/milpek.png") );
  45. ui->listWidget->reset();
  46. QString kategori = ui->Kategoriler->currentText();
  47. QProcess process;
  48. process.start("mps paketler");
  49. process.waitForFinished(-1); // will wait forever until finished
  50. ui->listWidget->clear();
  51. ui->listWidget->addItems(QString(process.readAll()).split('\n'));
  52. }
  53. AnaPencere::~AnaPencere()
  54. {
  55. delete ui;
  56. }
  57. void AnaPencere::on_kurbutonu_clicked()
  58. {
  59. if (ui->listWidget->currentItem())
  60. {
  61. if (ui->action_oklu_Paket_Kur->isChecked())
  62. {
  63. QList<QListWidgetItem*> paketler = ui->listWidget->selectedItems();
  64. QString paket;
  65. paket = (*(paketler.begin()))->text();
  66. QFile file("/tmp/kurlistesi");
  67. file.open(QIODevice::WriteOnly | QIODevice::Text);
  68. QTextStream out(&file);
  69. out << paket;
  70. file.close();
  71. QProcess liste;
  72. liste.start("mps kurul /tmp/kurlistesi --normal");
  73. liste.waitForFinished();
  74. QString output(liste.readAllStandardOutput());
  75. ui->ciktimetni->setText(output);
  76. }
  77. else
  78. {
  79. QString uygulama = ui->listWidget->currentItem()->text();
  80. QFile kurulumu("/var/lib/pkg/DB/"+uygulama+"/kurulan");
  81. if(!kurulumu.exists())
  82. {
  83. sayac=10;
  84. ui->progressBar->setValue(sayac);
  85. ui->progressBar->setValue(sayac);
  86. sayac=50;
  87. QProcess liste;
  88. liste.start("paket kur "+uygulama+" --normal");
  89. liste.waitForFinished();
  90. QString output(liste.readAllStandardOutput());
  91. ui->ciktimetni->setText(output);
  92. sayac=100;
  93. ui->progressBar->setValue(sayac);
  94. QMessageBox::information(this, "Ay-PeK",uygulama +" uygulaması başarıyla kuruldu.");
  95. ui->listWidget->reset();
  96. }
  97. else
  98. {
  99. QMessageBox::information(this, "Ay-PeK",uygulama +" uygulaması zaten kurulu.");
  100. QString preparedText = terminalOutput.left(70);
  101. preparedText.replace("\n","");
  102. ui->ciktimetni->setText(preparedText);
  103. ui->listWidget->reset();
  104. }
  105. }
  106. }
  107. else
  108. {
  109. QMessageBox::information(this, "Ay-PeK"," Lütfen kurmak için bir uygulama seçiniz");
  110. }
  111. }
  112. void AnaPencere::on_SilButonu_clicked()
  113. {
  114. if (ui->listWidget->currentItem())
  115. {
  116. QString kategori = ui->Kategoriler->currentText();
  117. QString uygulama = ui->listWidget->currentItem()->text();
  118. QFile kurulumu("/var/lib/pkg/DB/"+uygulama+"/kurulan");
  119. if(!kurulumu.exists()) {
  120. QMessageBox::information(this, "Ay-PeK",uygulama +" uygulaması zaten kurulu değil.");
  121. }
  122. else
  123. {
  124. sayac=10;
  125. ui->progressBar->setValue(sayac);
  126. QString uygulama = ui->listWidget->currentItem()->text();
  127. sayac=50;
  128. ui->progressBar->setValue(sayac);
  129. QProcess liste;
  130. liste.start("paket -sz "+uygulama+" --normal");
  131. liste.waitForFinished();
  132. QString output(liste.readAllStandardOutput());
  133. ui->ciktimetni->setText(output);
  134. sayac=100;
  135. ui->progressBar->setValue(sayac);
  136. QMessageBox::information(this, "MilPeK",uygulama +" uygulaması başarıyla silindi.");
  137. ui->listWidget->reset();
  138. }
  139. }
  140. else
  141. {
  142. QMessageBox::information(this, "MilPeK"," Lütfen silmek istediğiniz uygulamayı seçiniz");
  143. }
  144. }
  145. void AnaPencere::on_DerleKurButon_clicked()
  146. {
  147. if (ui->listWidget->currentItem())
  148. {
  149. QString kategori = ui->Kategoriler->currentText();
  150. QString uygulama = ui->listWidget->currentItem()->text();
  151. QFile kurulumu("/var/lib/pkg/DB/"+uygulama+"/kurulan");
  152. if(!kurulumu.exists()) {
  153. sayac=10;
  154. ui->progressBar->setValue(sayac);
  155. sayac=20;
  156. QString uygulama = ui->listWidget->currentItem()->text();
  157. ui->progressBar->setValue(sayac);
  158. sayac=50;
  159. QProcess liste;
  160. liste.start("paket der "+uygulama+" --normal");
  161. liste.waitForFinished();
  162. QString output(liste.readAllStandardOutput());
  163. ui->ciktimetni->setText(output);
  164. sayac=100;
  165. ui->progressBar->setValue(sayac);
  166. QMessageBox::information(this, "Ay-PeK",uygulama +" uygulaması başarıyla derlendi ve kuruldu.");
  167. ui->listWidget->reset();
  168. }
  169. else
  170. {
  171. QMessageBox::information(this, "Ay-PeK",uygulama +" uygulaması zaten kurulu.");
  172. ui->listWidget->reset();
  173. }
  174. }
  175. else
  176. {
  177. QMessageBox::information(this, "Ay-PeK"," Lütfen derleyip kurmak istediğiniz uygulamayı seçiniz");
  178. }
  179. }
  180. void AnaPencere::on_PaketicerigiButonu_clicked()
  181. {
  182. if (ui->listWidget->currentItem())
  183. {
  184. QString kategori = ui->Kategoriler->currentText();
  185. QString uygulama = ui->listWidget->currentItem()->text();
  186. QFile kurulumu("/var/lib/pkg/DB/"+uygulama+"/kurulan");
  187. if(!kurulumu.exists()) {
  188. QMessageBox::information(this, "Ay-PeK",uygulama +" uygulaması kurulu değil.");
  189. }
  190. else
  191. {
  192. sayac=10;
  193. ui->progressBar->setValue(sayac);
  194. QString uygulama = ui->listWidget->currentItem()->text();
  195. sayac=50;
  196. ui->progressBar->setValue(sayac);
  197. sayac=100;
  198. ui->progressBar->setValue(sayac);
  199. ui->listWidget->reset();
  200. QProcess liste;
  201. liste.start("sed 200q /var/lib/pkg/DB/"+uygulama+"/kurulan");
  202. liste.waitForFinished();
  203. QString output(liste.readAllStandardOutput());
  204. ui->ciktimetni->setText(output);
  205. }
  206. }
  207. else
  208. {
  209. QMessageBox::information(this, "Ay-PeK"," Lütfen içeriğini görmek istediğiniz uygulamayı seçiniz");
  210. }
  211. }
  212. void AnaPencere::on_TersGereklerButonu_clicked()
  213. {
  214. if (ui->listWidget->currentItem())
  215. {
  216. QString uygulama = ui->listWidget->currentItem()->text();
  217. QFile kurulumu("/var/lib/pkg/DB/"+uygulama+"/kurulan");
  218. if(!kurulumu.exists()) {
  219. sayac=10;
  220. ui->progressBar->setValue(sayac);
  221. ui->progressBar->setValue(sayac);
  222. sayac=50;
  223. QProcess liste;
  224. liste.start("paket -tb "+uygulama+" --normal");
  225. liste.waitForFinished();
  226. QString output(liste.readAllStandardOutput());
  227. ui->ciktimetni->setText(output);
  228. sayac=100;
  229. ui->progressBar->setValue(sayac);
  230. ui->progressBar->setValue(sayac);
  231. ui->listWidget->reset();
  232. }
  233. else
  234. {
  235. QMessageBox::information(this, "Ay-PeK",uygulama +" uygulaması zaten kurulu.");
  236. ui->listWidget->reset();
  237. sayac=10;
  238. ui->progressBar->setValue(sayac);
  239. sayac=100;
  240. ui->progressBar->setValue(sayac);
  241. ui->listWidget->reset();
  242. }
  243. }
  244. else
  245. {
  246. QMessageBox::information(this, "Ay-PeK"," Lütfen paketi kullanan uygulamaları öğrenmek istediğiniz paketi seçiniz");
  247. }
  248. }
  249. void AnaPencere::on_Kategoriler_currentTextChanged(const QString &arg1)
  250. {
  251. if (ui->Kategoriler->currentText() == "Tümü")
  252. {
  253. ui->listWidget->reset();
  254. QProcess process;
  255. process.start("paket paketler");
  256. process.waitForFinished(-1); // will wait forever until finished
  257. ui->listWidget->clear();
  258. ui->listWidget->addItems(QString(process.readAll()).split('\n'));
  259. }
  260. else if (ui->Kategoriler->currentText() == "Yerel")
  261. {
  262. ui->listWidget->reset();
  263. QStringList yenilistem1;
  264. QDir yeniliste1("/root/talimatlar/");
  265. ui->listWidget->clear();
  266. yeniliste1.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
  267. yenilistem1 = yeniliste1.entryList();
  268. ui->listWidget->addItems(yenilistem1);
  269. }
  270. else
  271. {
  272. ui->listWidget->reset();
  273. QString kategori = ui->Kategoriler->currentText();
  274. QProcess process;
  275. process.start("paket paketler "+kategori);
  276. process.waitForFinished(-1); // will wait forever until finished
  277. ui->listWidget->clear();
  278. ui->listWidget->addItems(QString(process.readAll()).split(' '));
  279. }
  280. }
  281. void AnaPencere::on_UygulamaAra_textChanged(const QString &arg1)
  282. {
  283. if (ui->Kategoriler->currentText() == "Yerel")
  284. {
  285. ui->listWidget->reset();
  286. QStringList yenilistem1;
  287. QRegExp regExp(arg1, Qt::CaseInsensitive, QRegExp::Wildcard);
  288. QDir yeniliste1("/root/talimatlar/");
  289. ui->listWidget->clear();
  290. yeniliste1.setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
  291. yenilistem1 = yeniliste1.entryList();
  292. ui->listWidget->addItems(yenilistem1.filter(regExp));
  293. }
  294. else
  295. {
  296. QString paketara = ui->UygulamaAra->text();
  297. int listWidgetSize = ui->listWidget->count();
  298. for (int k1 = 0; k1 < listWidgetSize; k1++)
  299. {
  300. if (ui->listWidget->item(k1)->text().startsWith(paketara))
  301. {
  302. ui->listWidget->item(k1)->setHidden(false);
  303. }
  304. else
  305. {
  306. ui->listWidget->item(k1)->setHidden(true);
  307. }
  308. }
  309. }
  310. }
  311. void AnaPencere::on_listWidget_currentTextChanged(const QString &currentText)
  312. {
  313. QString kategori = ui->Kategoriler->currentText();
  314. QString uygulama = ui->listWidget->currentItem()->text();
  315. QFile resimvarmi("/root/arayuz/"+uygulama+".png");
  316. if(!resimvarmi.exists()) {
  317. ui->label_5->setPixmap(QPixmap("/root/arayuz/resimyok.png") );
  318. ui->label_3->setPixmap(QPixmap("/root/arayuz/milpek2.png") );
  319. }
  320. else
  321. {
  322. ui->label_5->setPixmap(QPixmap("/root/arayuz/"+uygulama+".png") );
  323. ui->label_3->setPixmap(QPixmap("/root/arayuz/simgeler/"+uygulama+"_"+uygulama+".png") );
  324. }
  325. QProcess bilgi;
  326. bilgi.start("paket tbilgi "+uygulama+" --normal");
  327. bilgi.waitForFinished();
  328. QString output(bilgi.readAllStandardOutput());
  329. ui->ciktimetni->setText(output);
  330. }
  331. void AnaPencere::on_action_cikis_triggered()
  332. {
  333. close();
  334. }
  335. void AnaPencere::on_actionVeritaban_G_ncelle_triggered()
  336. {
  337. ui->progressBar->setValue(sayac);
  338. sayac=50;
  339. QProcess::execute("paket gun -G");
  340. QProcess liste;
  341. liste.start("paket gun -G --normal");
  342. liste.waitForFinished();
  343. QString output(liste.readAllStandardOutput());
  344. ui->ciktimetni->setText(output);
  345. sayac=100;
  346. ui->progressBar->setValue(sayac);
  347. QProcess::execute("/usr/share/milpek/dizinyap");
  348. QMessageBox::information(this, "Ay-PeK","Veritabanı güncelleme işlemi tamamlanmıştır.");
  349. }
  350. void AnaPencere::on_actionKurulu_Paketler_triggered()
  351. {
  352. sayac=10;
  353. ui->progressBar->setValue(sayac);
  354. sayac=100;
  355. ui->progressBar->setValue(sayac);
  356. ui->listWidget->reset();
  357. QProcess liste;
  358. liste.start("paket -kl | sed 300q");
  359. liste.waitForFinished();
  360. QString output(liste.readAllStandardOutput());
  361. ui->ciktimetni->setText(output);
  362. }
  363. void AnaPencere::on_actionBilgisayardan_Program_Kur_triggered()
  364. {
  365. QString fileName = QFileDialog::getOpenFileName(this, tr("Kurmak istediğiniz paketi seçin"),"~/",tr("milis (*.mps.lz)"));
  366. QProcess::execute("sudo paket kur "+fileName);
  367. QString preparedText = terminalOutput.left(70);
  368. preparedText.replace("\n","");
  369. ui->ciktimetni->setText(preparedText);
  370. QMessageBox::information(this, "Ay-PeK","Bilgisayardan program kurma işlemi tamamlanmıştır.");
  371. }
  372. void AnaPencere::on_actionMiLPeK_Hakk_nda_triggered()
  373. {
  374. QMessageBox::information(this, "Ay-PeK"," Milis Linux için Cihan Alkan tarafından hazırlanmıştır.");
  375. }
  376. void AnaPencere::on_actionSe_ili_Paketi_ndir_triggered()
  377. {
  378. if (ui->listWidget->currentItem())
  379. {
  380. QString kategori = ui->Kategoriler->currentText();
  381. QString uygulama = ui->listWidget->currentItem()->text();
  382. QFile kurulumu("/var/lib/pkg/DB/"+uygulama+"/kurulan");
  383. if(!kurulumu.exists()) {
  384. sayac=10;
  385. ui->progressBar->setValue(sayac);
  386. sayac=20;
  387. QString uygulama = ui->listWidget->currentItem()->text();
  388. ui->progressBar->setValue(sayac);
  389. sayac=50;
  390. QProcess::execute("paket -i "+uygulama);
  391. sayac=100;
  392. ui->progressBar->setValue(sayac);
  393. QMessageBox::information(this, "Ay-PeK",uygulama +" uygulaması başarıyla indirildi ama kurulmadı");
  394. ui->listWidget->reset();
  395. }
  396. else
  397. {
  398. QMessageBox::information(this, "Ay-PeK",uygulama +" uygulaması zaten kurulu.");
  399. ui->listWidget->reset();
  400. }
  401. }
  402. else
  403. {
  404. QMessageBox::information(this, "Ay-PeK"," Lütfen indirmek istediğiniz uygulamayı seçiniz");
  405. }
  406. }
  407. void AnaPencere::on_actionSe_ili_Paketi_ndir_Kur_triggered()
  408. {
  409. if (ui->listWidget->currentItem())
  410. {
  411. QString kategori = ui->Kategoriler->currentText();
  412. QString uygulama = ui->listWidget->currentItem()->text();
  413. QFile kurulumu("/var/lib/pkg/DB/"+uygulama+"/kurulan");
  414. if(!kurulumu.exists()) {
  415. sayac=10;
  416. ui->progressBar->setValue(sayac);
  417. sayac=20;
  418. QString uygulama = ui->listWidget->currentItem()->text();
  419. ui->progressBar->setValue(sayac);
  420. sayac=50;
  421. QProcess::execute("paket -ik "+uygulama);
  422. sayac=100;
  423. ui->progressBar->setValue(sayac);
  424. QMessageBox::information(this, "Ay-PeK",uygulama +" uygulaması başarıyla indirildi ve kuruldu");
  425. ui->listWidget->reset();
  426. }
  427. else
  428. {
  429. QMessageBox::information(this, "Ay-PeK",uygulama +" uygulaması zaten kurulu.");
  430. ui->listWidget->reset();
  431. }
  432. }
  433. else
  434. {
  435. QMessageBox::information(this, "Ay-PeK"," Lütfen indirip kurmak istediğiniz uygulamayı seçiniz");
  436. }
  437. }
  438. void AnaPencere::on_actionSe_ili_Paketi_Yeniden_Kur_triggered()
  439. {
  440. if (ui->listWidget->currentItem())
  441. {
  442. QString kategori = ui->Kategoriler->currentText();
  443. QString uygulama = ui->listWidget->currentItem()->text();
  444. QFile kurulumu("/var/lib/pkg/DB/"+uygulama+"/kurulan");
  445. if(!kurulumu.exists()) {
  446. QMessageBox::information(this, "Ay-PeK",uygulama +" uygulaması zaten kurulu değil.");
  447. }
  448. else
  449. {
  450. sayac=10;
  451. ui->progressBar->setValue(sayac);
  452. QString uygulama = ui->listWidget->currentItem()->text();
  453. sayac=50;
  454. ui->progressBar->setValue(sayac);
  455. QProcess::execute("paket kur --tekrar "+uygulama);
  456. sayac=100;
  457. ui->progressBar->setValue(sayac);
  458. QMessageBox::information(this, "Ay-PeK",uygulama +" uygulaması başarıyla yeniden kuruldu.");
  459. ui->listWidget->reset();
  460. }
  461. }
  462. else
  463. {
  464. QMessageBox::information(this, "Ay-PeK"," Lütfen yeniden kurmak istediğiniz uygulamayı seçiniz");
  465. }
  466. }
  467. void AnaPencere::on_actionSe_ili_Paketi_Gerekleyiyle_Kald_r_triggered()
  468. {
  469. if (ui->listWidget->currentItem())
  470. {
  471. QString kategori = ui->Kategoriler->currentText();
  472. QString uygulama = ui->listWidget->currentItem()->text();
  473. QFile kurulumu("/var/lib/pkg/DB/"+uygulama+"/kurulan");
  474. if(!kurulumu.exists()) {
  475. QMessageBox::information(this, "Ay-PeK",uygulama +" uygulaması zaten kurulu değil.");
  476. }
  477. else
  478. {
  479. sayac=10;
  480. ui->progressBar->setValue(sayac);
  481. QString uygulama = ui->listWidget->currentItem()->text();
  482. sayac=50;
  483. ui->progressBar->setValue(sayac);
  484. QProcess::execute("paket -Sz "+uygulama);
  485. sayac=100;
  486. ui->progressBar->setValue(sayac);
  487. QMessageBox::information(this, "Ay-PeK",uygulama +" uygulaması gerekleriyle birlikte başarıyla kaldırıldı.");
  488. ui->listWidget->reset();
  489. }
  490. }
  491. else
  492. {
  493. QMessageBox::information(this, "Ay-PeK"," Lütfen gerekleriyle birlikte kaldırmak istediğiniz uygulamayı seçiniz");
  494. }
  495. }
  496. void AnaPencere::on_actionSe_ili_Paketin_Eksi_ini_Bul_triggered()
  497. {
  498. if (ui->listWidget->currentItem())
  499. {
  500. QString uygulama = ui->listWidget->currentItem()->text();
  501. QProcess liste;
  502. liste.start("paket -kkp "+uygulama+" --normal");
  503. liste.waitForFinished();
  504. QString output(liste.readAllStandardOutput());
  505. ui->ciktimetni->setText(output);
  506. }
  507. else
  508. {
  509. QMessageBox::information(this, "Ay-PeK"," Lütfen eksiğini bulmak istediğiniz uygulamayı seçiniz");
  510. }
  511. }
  512. void AnaPencere::on_actionSe_ili_Paketin_K_rd_Paketler_triggered()
  513. {
  514. if (ui->listWidget->currentItem())
  515. {
  516. QString uygulama = ui->listWidget->currentItem()->text();
  517. QProcess liste;
  518. liste.start("mps kirma "+uygulama+" --normal");
  519. liste.waitForFinished();
  520. QString output(liste.readAllStandardOutput());
  521. ui->ciktimetni->setText(output);
  522. }
  523. else
  524. {
  525. QMessageBox::information(this, "Ay-PeK"," Lütfen sistemde kırdığı paketleri görmek istediğiniz uygulamayı seçiniz");
  526. }
  527. }
  528. void AnaPencere::on_actionSistem_K_r_k_Kontrol_triggered()
  529. {
  530. QProcess liste;
  531. liste.start("paket -kks --normal");
  532. liste.waitForFinished();
  533. QString output(liste.readAllStandardOutput());
  534. ui->ciktimetni->setText(output);
  535. }
  536. void AnaPencere::on_actionPaket_Gruplar_triggered()
  537. {
  538. QProcess liste;
  539. liste.start("paket sunucular");
  540. liste.waitForFinished();
  541. QString output(liste.readAllStandardOutput());
  542. ui->ciktimetni->setText(output);
  543. }
  544. void AnaPencere::on_actionTopluluk_Talimatlar_n_ndir_triggered()
  545. {
  546. QProcess liste;
  547. liste.start("sudo git_indir https://github.com/milislinux-topluluk/Ek-Talimatlar /root/talimatlar");
  548. liste.waitForFinished();
  549. QString output(liste.readAllStandardOutput());
  550. ui->ciktimetni->setText(output);
  551. }
  552. void AnaPencere::on_commandLinkButton_7_clicked()
  553. {
  554. if (ui->listWidget->currentItem())
  555. {
  556. QString uygulama = ui->listWidget->currentItem()->text();
  557. QProcess liste;
  558. liste.start("paket -bb "+uygulama);
  559. liste.waitForFinished();
  560. QString output(liste.readAllStandardOutput());
  561. ui->ciktimetni->setText(output);
  562. }
  563. else
  564. {
  565. QMessageBox::information(this, "Ay-PeK"," Lütfen gereklerini görmek istediğiniz uygulamayı seçiniz");
  566. }
  567. }
  568. void AnaPencere::on_actionToplam_Paket_Say_s_triggered()
  569. {
  570. QProcess process;
  571. process.start("paket paketler");
  572. process.waitForFinished(-1); // will wait forever until finished
  573. ui->listWidget->clear();
  574. ui->listWidget->addItems(QString(process.readAll()).split('\n'));
  575. ui->ciktimetni->setText("Resmi Depodaki Paket Sayısı: "+QString("%1").arg(ui->listWidget->count()));
  576. }
  577. void AnaPencere::on_action_oklu_Paket_Kur_triggered()
  578. {
  579. if (ui->action_oklu_Paket_Kur->isChecked())
  580. {
  581. ui->listWidget->setSelectionMode(QAbstractItemView::MultiSelection);
  582. }
  583. else
  584. {
  585. ui->listWidget->setSelectionMode(QAbstractItemView::SingleSelection);
  586. }
  587. }
  588. void AnaPencere::on_actionSe_ili_Paketin_Talimat_n_ncele_triggered()
  589. {
  590. {
  591. if (ui->listWidget->currentItem())
  592. {
  593. QString uygulama = ui->listWidget->currentItem()->text();
  594. QProcess liste;
  595. liste.start("paket talimat "+uygulama);
  596. liste.waitForFinished();
  597. QString output(liste.readAllStandardOutput());
  598. ui->ciktimetni->setText(output);
  599. }
  600. else
  601. {
  602. QMessageBox::information(this, "Ay-PeK"," Lütfen talimatını görmek istediğiniz uygulamayı seçiniz");
  603. }
  604. }
  605. }