This repository has been archived by the owner on Dec 4, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Welcome the new 'pc-zmanager' for ZFS & Disk Management
A HUGE Thank You to: Claudio L <claudio@hpgcc3.org> Update pkg-plist and add it to the control panel
- Loading branch information
Kris Moore
committed
Oct 10, 2013
1 parent
2513d5a
commit 125dbc9
Showing
116 changed files
with
115,097 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
11 changes: 11 additions & 0 deletions
11
src-qt4/pc-controlpanel/items/hardware/pc-zmanager.desktop
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/usr/bin/env xdg-open | ||
|
||
[Desktop Entry] | ||
Encoding=UTF-8 | ||
Exec=pc-su pc-zmanager | ||
Type=Application | ||
Icon=/usr/local/share/pcbsd/icons/zmanager.png | ||
Keywords="disk, ZFS, raid" | ||
Categories=Settings;System; | ||
Name=Disk Manager | ||
Comment=ZFS / Disk Management |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
-------------------------------------------------------------------- | ||
Copyright (c) 2013 Claudio D. Lapilli | ||
All rights reserved. | ||
|
||
Redistribution and use in source and binary forms, with or without | ||
modification, are permitted provided that the following conditions are met: | ||
|
||
1. Redistributions of source code must retain the above copyright notice, this | ||
list of conditions and the following disclaimer. | ||
2. Redistributions in binary form must reproduce the above copyright notice, | ||
this list of conditions and the following disclaimer in the documentation | ||
and/or other materials provided with the distribution. | ||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | ||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR | ||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,173 @@ | ||
#include "dialogfscreate.h" | ||
#include "ui_dialogfscreate.h" | ||
#include <QLineEdit> | ||
|
||
DialogfsCreate::DialogfsCreate(QWidget *parent) : | ||
QDialog(parent), | ||
ui(new Ui::DialogfsCreate) | ||
{ | ||
ui->setupUi(this); | ||
|
||
|
||
ui->fsName->setFocus(); | ||
|
||
} | ||
|
||
DialogfsCreate::~DialogfsCreate() | ||
{ | ||
delete ui; | ||
} | ||
|
||
void DialogfsCreate::setRootPath(QString path,QString text) | ||
{ | ||
this->fsRoot=path; | ||
if(text.isEmpty()) ui->fsName->setText(fsRoot); | ||
else ui->fsName->setText(text); | ||
checkValidPath(); | ||
|
||
} | ||
|
||
|
||
void DialogfsCreate::on_fsName_textEdited(const QString &arg1) | ||
{ | ||
|
||
if(arg1.startsWith(fsRoot)) { checkValidPath(); return; } | ||
else { | ||
if(arg1==fsRoot.left(fsRoot.size()-1)) ui->fsName->setText(fsRoot); | ||
else ui->fsName->setText(fsRoot+arg1); | ||
checkValidPath(); | ||
} | ||
return; | ||
} | ||
|
||
void DialogfsCreate::on_checkMountpt_stateChanged(int arg1) | ||
{ | ||
if(arg1) { | ||
ui->comboMountpt->setEnabled(true); | ||
if(ui->comboMountpt->currentText()==tr("[path]")) ui->mountPtEdit->setEnabled(true); | ||
else ui->mountPtEdit->setEnabled(false); | ||
} | ||
else { | ||
ui->comboMountpt->setEnabled(false); | ||
ui->mountPtEdit->setEnabled(false); | ||
} | ||
} | ||
|
||
void DialogfsCreate::on_comboMountpt_currentIndexChanged(int index) | ||
{ | ||
Q_UNUSED(index); | ||
|
||
if(ui->comboMountpt->currentText()==tr("[path]")) ui->mountPtEdit->setEnabled(true); | ||
else ui->mountPtEdit->setEnabled(false); | ||
|
||
} | ||
|
||
void DialogfsCreate::on_checkNormalization_stateChanged(int arg1) | ||
{ | ||
ui->comboNormalization->setEnabled(arg1); | ||
} | ||
|
||
void DialogfsCreate::on_checkCopies_stateChanged(int arg1) | ||
{ | ||
ui->spinCopies->setEnabled(arg1); | ||
} | ||
|
||
|
||
void DialogfsCreate::on_checkCompression_stateChanged(int arg1) | ||
{ | ||
ui->comboCompression->setEnabled(arg1); | ||
} | ||
|
||
|
||
QString DialogfsCreate::getPath() | ||
{ | ||
return ui->fsName->text(); | ||
} | ||
|
||
QStringList DialogfsCreate::getOptions() | ||
{ | ||
QStringList opt; | ||
|
||
if(ui->checkCanMount->checkState()==Qt::Checked) opt.append("canmount=noauto"); | ||
if(ui->checkMountpt->checkState()==Qt::Checked) { | ||
QString tmp; | ||
tmp="mountpoint="; | ||
if(ui->comboMountpt->currentText()=="[path]") tmp+="\""+ui->mountPtEdit->text()+"\""; | ||
else tmp+=ui->comboMountpt->currentText(); | ||
opt.append(tmp); | ||
} | ||
if(ui->checkUtf8Only->checkState()==Qt::Checked) opt.append("utf8only=on"); | ||
|
||
if(ui->checkNormalization->checkState()==Qt::Checked) { | ||
opt.append("normalization="+ui->comboNormalization->currentText()); | ||
} | ||
|
||
|
||
if(ui->checkDedup->checkState()==Qt::Checked) opt.append("dedup=on"); | ||
|
||
if(ui->checkCompression->checkState()==Qt::Checked) opt.append("compression="+ui->comboCompression->currentText()); | ||
|
||
|
||
return opt; | ||
} | ||
|
||
void DialogfsCreate::checkValidPath() | ||
{ | ||
isValid=true; | ||
QString str=ui->fsName->text(); | ||
|
||
if(str==fsRoot) isValid=false; | ||
if(str.size()<=fsRoot.size()) isValid=false; | ||
if(str.size()>255) isValid=false; | ||
|
||
int f; | ||
|
||
for(f=fsRoot.size();f<str.size();++f) | ||
{ | ||
// CHECK FOR VALID CHARACTERS (EXCLUDING THE GIVEN ROOT | ||
if((str.at(f)>=QChar('0')) && (str.at(f)<=QChar('9'))) continue; | ||
if((str.at(f)>=QChar('a')) && (str.at(f)<=QChar('z'))) continue; | ||
if((str.at(f)>=QChar('A')) && (str.at(f)<=QChar('Z'))) continue; | ||
if(str.at(f)==QChar(' ')) continue; | ||
if(str.at(f)==QChar('-')) continue; | ||
if(str.at(f)==QChar('_')) continue; | ||
if(str.at(f)==QChar(':')) continue; | ||
// '@' SHOULD BE INCLUDED IN THE ROOT, SO IT'S NOT ALLOWED HERE | ||
// '/' IS NOT ALLOWED | ||
isValid=false; | ||
break; | ||
} | ||
|
||
if(isValid) ui->fsName->setStyleSheet(""); | ||
else ui->fsName->setStyleSheet("background-color: rgb(255, 188, 183);"); | ||
} | ||
|
||
bool DialogfsCreate::hasValidPath() | ||
{ | ||
return isValid; | ||
} | ||
|
||
void DialogfsCreate::done(int result) | ||
{ | ||
if(result==QDialog::Accepted && !isValid) return; | ||
QDialog::done(result); | ||
} | ||
|
||
void DialogfsCreate::setPropsVisible(bool p) | ||
{ | ||
Q_UNUSED(p); | ||
ui->frameProps->setVisible(false); | ||
} | ||
|
||
|
||
void DialogfsCreate::nameOnlyMode() | ||
{ | ||
setPropsVisible(false); | ||
resize(width(),height()-ui->frameProps->height()); | ||
adjustSize(); | ||
} | ||
|
||
void DialogfsCreate::changeTitle(QString title) | ||
{ | ||
setWindowTitle(title); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
#ifndef DIALOGFSCREATE_H | ||
#define DIALOGFSCREATE_H | ||
|
||
#include <QDialog> | ||
|
||
namespace Ui { | ||
class DialogfsCreate; | ||
} | ||
|
||
class DialogfsCreate : public QDialog | ||
{ | ||
Q_OBJECT | ||
|
||
public: | ||
bool isValid; | ||
QString fsRoot; | ||
void setRootPath(QString path, QString text); | ||
void changeTitle(QString title); | ||
void setPropsVisible(bool p); | ||
void checkValidPath(); | ||
void nameOnlyMode(); | ||
bool hasValidPath(); | ||
QString getPath(); | ||
QStringList getOptions(); | ||
void done(int result); | ||
|
||
|
||
explicit DialogfsCreate(QWidget *parent = 0); | ||
~DialogfsCreate(); | ||
|
||
private slots: | ||
void on_fsName_textEdited(const QString &arg1); | ||
|
||
void on_checkMountpt_stateChanged(int arg1); | ||
|
||
void on_comboMountpt_currentIndexChanged(int index); | ||
|
||
void on_checkNormalization_stateChanged(int arg1); | ||
|
||
void on_checkCopies_stateChanged(int arg1); | ||
|
||
void on_checkCompression_stateChanged(int arg1); | ||
|
||
private: | ||
Ui::DialogfsCreate *ui; | ||
}; | ||
|
||
#endif // DIALOGFSCREATE_H |
Oops, something went wrong.