components/part/settings.dart
File ini mendefinisikan halaman pengaturan aplikasi, di mana pengguna dapat mengonfigurasi port untuk berbagai layanan dan mengakses file konfigurasi penting.
Kelas Settings:
- Sebuah
StatefulWidgetyang membuat status untuk halaman pengaturan.
Kelas _SettingsState:
- Kelas status untuk
Settings. - Variabel Status:
_nginxPort,_mariadbPort,_postgresqlPort:TextEditingControlleruntuk bidang input nomor port._htdocsPath: Path ke direktorihtdocs.onEdits: Boolean untuk melacak apakah ada pengaturan yang telah diubah.preferences: InstansSharedPreferencesuntuk menyimpan dan mengambil pengaturan.
_initializationVars():- Menginisialisasi status dengan memuat nomor port yang disimpan dan path
htdocsdariSharedPreferences.
- Menginisialisasi status dengan memuat nomor port yang disimpan dan path
_applySettings():- Fungsi ini dipanggil saat tombol "Terapkan" ditekan.
- Membandingkan nomor port saat ini dengan yang disimpan.
- Jika nomor port telah berubah, ia menjalankan skrip batch yang sesuai (
nginx-port.bat,mariadb-port.bat,postgres-port.bat) untuk memperbarui file konfigurasi. - Menyimpan nomor port baru ke
SharedPreferences. - Mengatur
onEditskefalsesetelah menerapkan pengaturan.
_openFilesNotepad(String filePath):- Membuka file konfigurasi yang ditentukan di Notepad.
build():- UI adalah
ScaffolddenganAppBardanListView. AppBar:- Menampilkan judul "Pengaturan".
- Berisi tombol "Terapkan" yang hanya diaktifkan saat
onEditsadalahtrue.
ListView:- Bagian Port:
- Wadah yang dikelompokkan dengan bidang input untuk port Nginx, MariaDB, dan PostgreSQL.
- Bagian File Konfigurasi:
- Wadah yang dikelompokkan dengan tautan untuk membuka
php.ini,nginx.conf,my.ini, danhttpd.confdi Notepad.
- Wadah yang dikelompokkan dengan tautan untuk membuka
- Bagian Port:
- UI adalah
- Widget Pembantu:
_buildSectionTitle(): Widget pembantu untuk membuat judul bagian._buildGroupedContainer(): Widget pembantu untuk membuat gaya wadah yang dikelompokkan._buildPortSetting(): Widget pembantu untuk membuat baris pengaturan port._buildFileLink(): Widget pembantu untuk membuat baris tautan file._buildDivider(): Widget pembantu untuk membuat pembatas.
Halaman ini menyediakan lokasi terpusat bagi pengguna untuk menyesuaikan lingkungan pengembangan lokal mereka.