Patch Detail
Show a patch.
GET /api/patches/2218/?format=api
{ "id": 2218, "url": "https://patchwork.libcamera.org/api/patches/2218/?format=api", "web_url": "https://patchwork.libcamera.org/patch/2218/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20191025103543.23058-1-kieran.bingham@ideasonboard.com>", "date": "2019-10-25T10:35:43", "name": "[libcamera-devel] qcam: Don't ask for a camera when only one exists", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "9b3734ed32a34f2ccf8dabb17279746ff01468a5", "submitter": { "id": 4, "url": "https://patchwork.libcamera.org/api/people/4/?format=api", "name": "Kieran Bingham", "email": "kieran.bingham@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/2218/mbox/", "series": [ { "id": 546, "url": "https://patchwork.libcamera.org/api/series/546/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=546", "date": "2019-10-25T10:35:43", "name": "[libcamera-devel] qcam: Don't ask for a camera when only one exists", "version": 1, "mbox": "https://patchwork.libcamera.org/series/546/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/2218/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/2218/checks/", "tags": {}, "headers": { "Return-Path": "<kieran.bingham@ideasonboard.com>", "Received": [ "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2716061378\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 25 Oct 2019 12:35:47 +0200 (CEST)", "from Q.local (cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net\n\t[86.31.129.233])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id A0EDF33A;\n\tFri, 25 Oct 2019 12:35:46 +0200 (CEST)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1571999746;\n\tbh=tL58pRxk3XESZCbHWQSNWvI/NLkq9ncDrmErhl8lyqw=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=tNI1tAj656mynVUv4bdt2Fyh/a0Hr03IC1FH5f+2vkpqY0icdXREeHGOJSbZ3sX1i\n\tDLTaYcqOBa4KH+cVurk6id6NTS4/uU/s6VbUyuaVuUqt0yrrLOrRXbg3D7W/REDhwC\n\tgwjgKMS2rKLV3gH3lfab8ApVSXODFTLHTwlgxZBE=", "From": "Kieran Bingham <kieran.bingham@ideasonboard.com>", "To": "LibCamera Devel <libcamera-devel@lists.libcamera.org>", "Date": "Fri, 25 Oct 2019 11:35:43 +0100", "Message-Id": "<20191025103543.23058-1-kieran.bingham@ideasonboard.com>", "X-Mailer": "git-send-email 2.20.1", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH] qcam: Don't ask for a camera when only\n\tone exists", "X-BeenThere": "libcamera-devel@lists.libcamera.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "<libcamera-devel.lists.libcamera.org>", "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>", "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>", "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>", "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>", "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>", "X-List-Received-Date": "Fri, 25 Oct 2019 10:35:47 -0000" }, "content": "If there is only one camera exposed by libcamera, there is little value\nin asking the user to choose it.\n\nAutomatically select it, and remove the need to ask the user to select\n'ok' from a Dialog box.\n\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n src/qcam/main_window.cpp | 33 +++++++++++++++++++++++----------\n src/qcam/main_window.h | 1 +\n 2 files changed, 24 insertions(+), 10 deletions(-)", "diff": "diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp\nindex ef4ad4a22dca..19a8801eafac 100644\n--- a/src/qcam/main_window.cpp\n+++ b/src/qcam/main_window.cpp\n@@ -66,27 +66,40 @@ void MainWindow::updateTitle()\n \tsetWindowTitle(title_ + \" : \" + QString::number(fps, 'f', 2) + \" fps\");\n }\n \n-int MainWindow::openCamera(CameraManager *cm)\n+std::string MainWindow::chooseCamera(CameraManager *cm)\n {\n-\tstd::string cameraName;\n+\tQString name;\n+\tbool result;\n \n-\tif (!options_.isSet(OptCamera)) {\n+\tif (cm->cameras().size() == 1)\n+\t\treturn cm->cameras()[0]->name();\n+\n+\tfor (const std::shared_ptr<Camera> &cam : cm->cameras()) {\n \t\tQStringList cameras;\n-\t\tbool result;\n \n-\t\tfor (const std::shared_ptr<Camera> &cam : cm->cameras())\n-\t\t\tcameras.append(QString::fromStdString(cam->name()));\n+\t\tcameras.append(QString::fromStdString(cam->name()));\n \n \t\tQString name = QInputDialog::getItem(this, \"Select Camera\",\n \t\t\t\t\t\t \"Camera:\", cameras, 0,\n \t\t\t\t\t\t false, &result);\n \t\tif (!result)\n-\t\t\treturn -EINVAL;\n+\t\t\treturn \"\";\n+\t}\n \n-\t\tcameraName = name.toStdString();\n-\t} else {\n+\treturn name.toStdString();\n+}\n+\n+int MainWindow::openCamera(CameraManager *cm)\n+{\n+\tstd::string cameraName;\n+\n+\tif (options_.isSet(OptCamera))\n \t\tcameraName = static_cast<std::string>(options_[OptCamera]);\n-\t}\n+\telse\n+\t\tcameraName = chooseCamera(cm);\n+\n+\tif (cameraName == \"\")\n+\t\treturn -EINVAL;\n \n \tcamera_ = cm->get(cameraName);\n \tif (!camera_) {\ndiff --git a/src/qcam/main_window.h b/src/qcam/main_window.h\nindex 6873155aaa03..30dd8743104d 100644\n--- a/src/qcam/main_window.h\n+++ b/src/qcam/main_window.h\n@@ -43,6 +43,7 @@ private Q_SLOTS:\n \tvoid updateTitle();\n \n private:\n+\tstd::string chooseCamera(CameraManager *cm);\n \tint openCamera(CameraManager *cm);\n \n \tint startCapture();\n", "prefixes": [ "libcamera-devel" ] }